2009-03-04 4 views
10

제 3 자 코드에서 모델 클래스를 상속 받으려고합니다. 일부 필드는 사용하지 않지만 내 클라이언트가 관리자의 모델을 편집 할 수있게하려고합니다. Admin에서 그들을 숨기는 것이 가장 좋은 방법일까요? 아니면 실제로 처음부터 생성되는 것을 막을 수 있습니까?장고 모델 상속. 필드 숨기기 또는 제거

또한 원하지 않는 입력란 중 하나가 필요한 경우 어떻게해야합니까? 내 첫 번째 생각은 저장 메서드를 재정의하고 기본값을 넣는 것입니다.

답변

4

모델을 상속하는 경우 기존 필드를 숨기거나 비활성화하는 것이 좋습니다. 당신이 할 수있는 최선의 일은 바로 당신이 제안한 것입니다 : save()을 덮어 쓰고 거기에서 당신의 논리를 다루십시오.

5

당신은 관리자에서 편집 할 수있는 필드를 제어 할 수 있습니다 참조하십시오. 당신은 단지 이름과 제목 필드를 포함하는 저자 모델의 형태를 원하는 경우

"당신이 필드를 지정하거나 다음과 같이 제외 것 :

class AuthorAdmin(admin.ModelAdmin): 
    fields = ('name', 'title') 

class AuthorAdmin(admin.ModelAdmin): 
    exclude = ('birth_date',)" 

http://docs.djangoproject.com/en/dev/ref/contrib/admin/

장고 문서에서