我有這些模型:顯示的ModelForm填充組合框由一個PK過濾
class LocationType(models.Model):
Name=models.CharField(max_length=50)
Description=models.CharField(max_length=200)
class Location(models.Model):
Name=models.CharField(max_length=100)
ParentCode=models.BigIntegerField()
LocationType=models.ForeignKey(LocationType)
class Visa(models.Model):
Country=models.ForeignKey(Location)
Price=models.CharField(max_length=12)
ActionUser=models.ForeignKey(User,editable=False)
在forms.py
我有這樣的:
class VisaForm(ModelForm):
class Meta:
model=Visa
我要顯示的位置的組合框(爲Visa模式的國家/地區)以簽證形式提供,並由特殊的LocationType
過濾。
想象一下,我有一個LocationType
價值name=Country,pk=1
。在visa_form
我想顯示Location
s列表,但不是全部。只需地址爲locationType_id=1
。
如何填寫此組合框並以簽證形式顯示?
也許['ModelChoiceField'](https://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield)會更適用於有問題的情況。 –
感謝U everybodey,我這樣做,它的工作原理:在__init__ self.fields [「Country」]。queryset = Location.objects.filter(LocationTypeCode__id = locationType.id) –