2015-01-29 3 views
0

장고 설명서는 편집중인 특정 모델 인스턴스의 특성을 기반으로 ModelForm 인스턴스를 사용자 지정하는 방법을 명확하게합니다. 그러나 필자는 모델간에 외래 키 관계가 많이 포함 된 디자인 작업을하고 있으며 인라인 모델을 기반으로 특정 인라인 양식 인스턴스를 수정하려는 경우도 계속 실행합니다. 나는 문서와 코드를 파헤 치다. 그러나 이것에 대한 해결책은 나를 피하는 것이다.개체 인스턴스를 기반으로 장고 인라인 관리자 양식을 사용자 지정하는 방법

InlineModelAdmin.get_formset()에서 찾을 수있는 가장 가까운 점은 해당 객체에 전달되는 객체 인스턴스가 자식 객체의 인스턴스가 아니라 부모 객체입니다. 나의 본능은 이것을 할 수있는 방법이 있다는 것이다. 아무도 적절한 방법을 알고 있습니까?

+1

'InlineModelAdmin.get_formset()'에서'ModelForm'을 설정하고'instance' 매개 변수에 따라이 양식을 사용자 정의 할 수 있다고 가정합니다. – catavaran

답변

2

나는 나는 100 % 확실 나는 완전히 당신이 묻는 것을 이해하지만 당신은 관리자 인라인 (https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.form)에 대한 forms.ModelForm을 지정할 수 있으며, 그 현재 인라인 개체의 instance를 수신 한 다음를 기반으로 양식 필드를 변경할 수 있습니다 instance에 있습니다.

+0

우리가 놓친 부분이 있습니다. 나는'forms.ModelForm'의 __init __() 메소드에서이 커스터마이징을 수행 할 생각이 없었습니다. 감사! –

관련 문제