我正在尝试在Django中保存MultipleChoiceField。 model.py
choices_for_field =
(('A','A'),
('B','B'),
('C','C'),
('D','D'),)
class names(models.Model):
c_name = models.CharField(max_length=50, null=False, blank=False, choices=choices_for_field)
class formForm(ModelForm):
c_name = forms.MultipleChoiceField(label='alphabets', choices=choices_for_field, widget=CheckboxSelectMultiple)
当我保存这个时,我收到的错误是“不是一个有效的选择”。我不知道我哪里出错了。我已经检查了与此相关的所有其他问题。但没有什么对我有用。任何人都可以帮助我。
views.py
bf = formForm(request.POST)
if bf.is_valid():
temp = bf.save(commit=False)
temp.stud_user_id = userid
temp.save()
答案 0 :(得分:4)
您无法将多项选择字段保存到CharField。 CharField是一个单独的元素。 MulitpleChoiceField是多重的。
我怀疑你想要做的是将一系列选择连接到CharField中的单个(逗号分隔?)值。您可以使用标准forms.TextField(使用MultipleChoiceWidget)和一个执行连接的自定义清理方法来执行此操作,但您需要从目标CharField中删除choices属性。