Django - 선택 테이블을 외국 테이블의 쿼리 세트로 제한 하시겠습니까?
다음과 같은 두 가지 모델이 있습니다.System_Contact
first_name
last_name
isOwner = CharField ('Y'/'N')
isMainContact = CharField ('Y'/'N')
System
mainContact = ForeignKey(System_Contact)
owner = ForeignKey(System_Contact)
billTo = ForeignKey(System_Contact)
따라서 웹 페이지에서 System
양식을 표시 할 때 사용자는 System
모델에 저장하기 위해 드롭 다운 메뉴에서 mainContact
owner
및 billTo
연락처를 선택할 수 있습니다. 그러나 System
형식의 선택 필드를 필터링하여 다음과 같이되도록하고 싶습니다.
이제는 쿼리 상자를 필터링하여 선택 상자를 제한하는 방법을 알고 있지만 그렇지 않습니다. 관련 외래 키 querySet을 필터링하는 방법을 알고 있어야합니다. mainContact
및 owner
필드는 외래 키이므로 외부 테이블 (System_Contact
)을 필터링해야합니다. 양식이 작성된 테이블 (System
)이 아닙니다.
정상 외래 키 유형을 필터링하는 방법을 알고 있습니다. select 상자를 다음과 같이 :
form.fields["some_field"].queryset = Some_Model.objects.filter(some_field="Foo")
어떻게 내가 외부 테이블을 필터링 할 수 있도록이 '확장 할 것이라고?
이것은 현재 시도하고있는 것입니다.
form.fields["mainContact"].queryset = System_Contact.objects.filter(isMainContact = 'Y')
고맙습니다.