Django ModelForm에서 ForeignKey 선택 필터링
다음 모델이 정의되어 있다고 가정합니다.
class Company(models.Model): name = ... class Rate(models.Model): company = models.ForeignKey(Company) name = ... class Client(models.Model): name = ... company = models.ForeignKey(Company) base_rate = models.ForeignKey(Rate)
목표 클라이언트를 생성할 때 사용 가능한 요금 선택이 상위 내의 요금으로 제한되도록 하는 것입니다. company.
Django 1.0 Forms.py 파일:
from models import * from django.forms import ModelForm class ClientForm(ModelForm): class Meta: model = Client def __init__(self, company_id, *args, **kwargs): '''Filter the rate choices to only include those for the specified company''' super(ClientForm, self).__init__(*args, **kwargs) self.fields['base_rate'].queryset = Rate.objects.filter(company_id=company_id)
views.py:
from django.shortcuts import render_to_response, get_object_or_404 from models import * from forms import * def addclient(request, company_id): the_company = get_object_or_404(Company,>
'rate에 할당된 QuerySet을 필터링하여 ' 필드에서 'base_rate' ForeignKey에 대해 사용 가능한 선택은 지정된 회사 내의 적절한 환율로 제한됩니다.
위 내용은 모회사를 기반으로 Django ModelForm에서 ForeignKey 선택을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!