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

모회사를 기반으로 Django ModelForm에서 ForeignKey 선택을 필터링하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-25 12:57:11
원래의
863명이 탐색했습니다.

How to Filter ForeignKey Choices in a Django ModelForm Based on Parent Company?

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿