2017-12-18 14 views
1

부모와 OneToOneField 관계가있는 장고 관리자 인라인 모델이 있습니다.django에서 다른 것을 삭제하십시오 admin

class Child(models.Model): 
parent = models.OneToOneField(Parent) 
received_on = models.DateField(null=True,) 
관리 인라인에서

나는 이런 식으로 뭔가를했을 그래서 "다른 버튼을 추가"보여주고 싶어하지 않습니다 -

class CampaignInfluencerShippingTrackingInline(admin.TabularInline): 
    model = Child 
    can_delete = False 
    extra = 0 
    fields = ['received_on'] 

    def has_add_permission(self, request): 
     return False 

을하지만 여전히 문제가에 또 다른 버튼을 추가 보여주고있다 부모와의 관계가있는 것처럼 같은 코드로 시도하면 다른 버튼이 표시되지 않지만 OneToOneField은 항상 표시됩니다.

누구나 저에게 어떻게 작동하는지 제안하고 인라인 (Inline) 하위 항목에서 다른 버튼을 제거 할 수 있습니까?

부모가 모델 인라인을 추가 할 수 있지만 내 질문은 인라인 모델에서 "다른 버튼 추가"를 제거하는 방법과 관련이 있습니다.

+0

django-admin에서 템플릿/admin/edit_inline/stacked.html 또는 template/admin/edit_inline/tabular.html을 덮어 써야합니다. ** template ** 폴더를 추가해야합니다. (django-admin 폴더의 정확한 사본 템플릿 폴더)를 폴더에 저장하고 해당 버튼 코드가있는 내부 템플릿/html 파일을 재정의하십시오. 이 변경으로 인해 장고 문서가 발견되지 않았습니다. –

답변

0

Child 인라인을 사용하여 사용자가 정확히 하나를 추가 할 수있게하려면? 이 후, 작동합니다 :

class CampaignInfluencerShippingTrackingInline(admin.TabularInline): 
    model = Child 
    can_delete = False 
    fields = ['received_on'] 

extra = 0 아마 당신을 트립 무슨이다. 포함 시키면 양식이 보이지 않습니다. 인라인의 제목 ("차일 즈"), 표 머리글 ("수신 됨") 및 "다른 자식 추가"링크 만 표시됩니다. 링크를 클릭하면 링크가 사라지고 양식이 나타납니다. 사실, 그것은 단지 한 명의 자녀에게만 국한되어 있습니다.

+0

유니티 관리자에서 추가 옵션을 제거하고 싶습니다. 아이는 API 만 사용하여 추가 할 수 있습니다. – Avi