【问题标题】:Validation error in Django's CheckboxSelectMultipleDjango CheckboxSelectMultiple 中的验证错误
【发布时间】:2012-11-29 07:24:33
【问题描述】:

我正在尝试在我的应用程序中使用复选框,但 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)

无论我选择哪个复选框,我都会收到一个内联错误,提示“u'PC' is not a valid selection”之类的内容。有什么想法吗?

【问题讨论】:

    标签: django forms validation django-forms


    【解决方案1】:

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

    【讨论】:

    • 我希望能够选择一个、一个或多个元素
    • 您是否考虑过将OptionalAV 设为模型并将requests 存储为ManyToManyField
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 2018-10-18
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多