Django多选表单 - TypeError:int()参数必须是字符串或数字,而不是'list'

时间:2013-05-16 15:14:47

标签: django django-forms

我有一个这样的表格:

class PartnerProductsForm(forms.Form):
    product = forms.ModelChoiceField(
        queryset=Product.objects.all(),
        widget=forms.CheckboxSelectMultiple(
            attrs={"checked": ""}
        ),
        empty_label=None,
    )

我的意见:

...
product_form = PartnerProductsForm(request.POST or None)
    if product_form.is_valid():
        # do stuff

但是当我提交时,我收到以下错误:

TypeError: int() argument must be a string or a number, not 'list'

表单验证似乎期待一个int,但我当然会重新调整已检查选项的列表。我该怎么处理这个?

1 个答案:

答案 0 :(得分:11)

您要查找的表单字段为ModelMultipleChoiceField,而不是ModelChoiceField