Django - ModelChoiceField - TypeError - __init__() 至少需要 2 个参数 (给了 1 个)

1 投票
1 回答
5216 浏览
提问于 2025-04-17 09:16

我在使用Django 1.2。现在我想在一个表单里用ModelChoiceField,但为什么会出现上面的错误信息呢?我真的不知道该怎么办 :-(

class QueueForm(forms.Form):
    queue = forms.ModelChoiceField(query_set=Order.objects.all())

我还试过这样做:

class QueueForm(forms.Form):
    queue = forms.ModelChoiceField(query_set=Order.objects.all(),required=False)

结果是:

__init__() takes at least 2 arguments (2 given)

看起来错误发生在queue = ..这一行。甚至在我使用表单之前就出现了。

1 个回答

7

你在构造函数里设置的变量名不对,应该用 queryset 而不是 query_set。试试这样:

class QueueForm(forms.Form):
queue = forms.ModelChoiceField(queryset=Order.objects.all())

撰写回答