Django ModelForms에서 ForeignKey 선택 필터링
ForeignKey 관계가 있는 Django 모델로 작업할 때 특정 기준에 따라 특정 필드에 사용할 수 있는 선택 사항입니다. 이 특정한 경우에는 클라이언트 모델에 대한 요율 선택을 모회사와 관련된 요율 선택으로만 제한하려는 시나리오가 있습니다.
Django 1.0에서 이 필터링을 달성하려면 queryset 속성을 활용할 수 있습니다. 해당 ModelChoiceField의 귀하의 경우 관련 필드는 "rate"입니다. 이 필드에 사용자 정의 QuerySet을 제공하면 필요한 필터링 기준을 적용할 수 있습니다.
form.fields["rate"].queryset = Rate.objects.filter(company_id=the_company.id)
이 수정을 통해 클라이언트를 생성하거나 편집할 때 요율 선택이 클라이언트와 관련된 항목으로만 제한됩니다. 고객이 속한 회사. 뷰에서 이 필터링을 명시적으로 처리하면 관리 인터페이스의limit_choices_to 속성 사용으로 인해 발생할 수 있는 잠재적인 복잡성을 피할 수 있습니다.
이 접근 방식을 사용하면 앱에서 ForeignKey 선택 사항을 필터링하는 깔끔하고 효율적인 방법을 유지할 수 있습니다. Django ModelForms는 애플리케이션의 데이터 조작 작업에 더 큰 유연성을 제공합니다.
위 내용은 관련 모델 데이터를 기반으로 Django ModelForms에서 ForeignKey 선택을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!