我剛開始學習Django,我想在ModelChoiceField中使用不同的查詢集。
如何在ModelChoiceField中使用多個查詢集?
我有3種型號那樣:
class Politic(models.Model):
name = models.CharField(max_length=100)
class Economic(models.Model):
name = models.CharField(max_length=100)
class Category(models.Model):
politic = models.ForeignKey(Politic, blank = True, null = True)
economic = models.ForeignKey(Economic, blank = True, null = True)
而且像這樣的形式:
class MyForm(forms.Form):
choice = forms.ChoiceField(choices = (("0", u"---------"), ("1", u"Politic"),
("2", u"Economic")),
required=False)
category = forms.ModelChoiceField(queryset=Economic.objects.all(),
required=False)
在我的模板,我使用Ajax來填充我的類別字段與所有Politic
列表或Economic
根據我的選擇字段值。
但是,如果我選擇"Politic"
,我在驗證我的表單時遇到問題,因爲我的類別字段的查詢集是Economic.objects.all()
,而不是Politic.objects.all()
。
如何更改我的動態查詢集?有任何想法嗎?