class PaymentSelectForm(forms.Form):
date_from = forms.DateField()
date_to = forms.DateField()
website = ModelChoiceField()
paymentmethod = forms.ChoiceField(choices=PAYCODE_CHOICES)
def __init__(self, *args, **kwargs):
super(PaymentSelectForm, self).__init__(*args, **kwargs)
applyClassConfig2FormControl(self)
self.fields['website'].queryset=Website.objects.all()
我有错误:TypeError:__init__()
missing 1 required positional argument:'queryset'。如何在__init__
表单中使用Queryset
?
2条答案
按热度按时间ddrv8njm1#
除非您当前隐藏了某些信息,否则最好在
ModelChoiceField
的声明中声明查询集:如果查询集是 dynamic(这里不是),可以初始设置为
None
,然后在__init__
函数中覆盖:但通常情况下,例如
queryset
依赖于传递给表单的参数,或者依赖于其他表(并且它不能优雅地写入SQL查询)。kadbb4592#
使用
widget.choices