models.py
class MyModel(models.Model):
OPTION_CHOICES = (('a','a'),('b','b'))
option = models.CharField(max_length=1, choices=OPTION_CHOICES)
forms.py
class MyForm(ModelForm):
class Meta:
model=MyModel
fields=['option']
widgets = {'option':CheckboxSelectMultiple(),}
当我尝试提交表单时,我遇到验证错误,无法提交。当我偶然CheckboxSelectMultiple
到RadioSelect
时,它的工作正常。那么如何使用checkboxSelectMultiple
答案 0 :(得分:0)
option = models.CharField(max_length=1, choices=OPTION_CHOICES)
只接受一个字符。通过提交带有多选小部件的表单,您可以尝试存储列表:
[u'a']
这当然会导致错误:
Select a valid choice. [u'a'] is not one of the available choices.
再次:'a'
或'b'
是字符串和有效选择,[u'a']
是一个无效的列表。
要存储列表(或多个关系),您应该选择其他一些字段类型。什么字段类型完全取决于您的项目要求。没有足够的信息可以为您提供建议。