2009-10-04 2 views
1

텍스트 필드가있는 Django 모델이 있습니다. Django Admin에서 사용자에게 표시되기 전에 텍스트 필드의 내용을 수정하고 싶습니다.Django : 관리자에게 표시하기 전에 텍스트 필드를 수정하는 방법

나는 신호가 post_load과 같을 것으로 예상했지만 존재하지 않는 것 같습니다.

더 구체적으로 :

나는 사용자의 입력을 받아 텍스트 필드가 있습니다. 이 텍스트 필드에는 더 많은 구분 기호가 있습니다. 구분 기호 앞에있는 텍스트는 introtext 필드로 들어가고, 이후의 모든 것은 fulltext 필드로갑니다.

동시에 기사를 편집 할 때 사용자 1 텍스트 필드 만 표시하려고합니다.

나의 계획은 introext와 fulltext 필드에서 데이터를 읽고 ontload를 fulltext textarea로 결합하는 것이 었습니다. pre_save에서 필자는 더 많은 분리 기호를 사용하여 텍스트를 분할하고 introtext에 intro를 저장하고 fulltext에 나머지를 저장합니다. 양식이 표시되기 전에

그래서, 나는

introtext + '<!--readmore-->' + fulltext 

으로 전체 텍스트 필드를 채울 필요가 있고 나는 기존 항목이 작업을 수행 할 수 있어야합니다.

+0

이봐, 이거 해결 했니? 코드가 있습니까? :) –

답변

1

로드 기능이 없기 때문에 post_load가 없습니다.

인스턴스의로드는 함수에서 수행되므로 올바른 대답은 post_init 신호를 사용하는 것입니다.

2

관리자 페이지는 Providing your own form입니다.

양식을 만들었 으면 양식의 기본 매개 변수를 사용하여 원하는 초기 값을 제공 할 수 있습니다. 양식 필드는 Initial param에있는 문서를 참조하십시오. 이 링크에 표시 될 것이므로 초기 값으로 호출 가능 또는 상수를 사용할 수 있습니다.