Django的CheckboxSelectMultiple中的验证错误

时间:2012-11-29 07:24:33

标签: django forms validation django-forms

我正在尝试在我的应用中使用复选框,但Django表单验证告诉我输入无效,无论选中哪个复选框。

在模特中:

AV_CHOICES = (
    ('PC', 'PC Laptop ($150)'),
    ('32', '32" LCD Monitor ($150)'),
    ('40', '40" LCD Monitor ($200)'),
)

Optional_AV_Requests = models.TextField(blank=True, choices=AV_CHOICES)

在forms.py

class Fair_Logistical_Data1Form(forms.ModelForm):

def __init__(self, *args, **kwargs):
    super(Fair_Logistical_Data1Form, self).__init__(*args, **kwargs)
    self.fields['Optional_AV_Requests'] = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,choices=self.fields['Optional_AV_Requests'].choices)

无论我选择哪个复选框,我都会收到一个inlin错误,说“u'PC'不是一个有效的选择”。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您应该使用radio button进行单选选择。 MultipleChoiceField会返回所选元素的列表,这不是TextField的正确类型。