>백엔드 개발 >파이썬 튜토리얼 >관련 모델 데이터를 기반으로 Django ModelForms에서 ForeignKey 선택을 필터링하는 방법은 무엇입니까?

관련 모델 데이터를 기반으로 Django ModelForms에서 ForeignKey 선택을 필터링하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-16 16:05:03211검색

How to Filter ForeignKey Choices in Django ModelForms based on Related Model Data?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.