2

我正在尝试在 Django 中保存一个 MultipleChoiceField。模型.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)

当我保存它时,我收到一个错误,即“不是有效的选择”。我不知道我哪里错了。我已经检查了与此相关的所有其他问题。但没有什么对我有用。有谁能够帮我。

视图.py

bf = formForm(request.POST)
    if bf.is_valid():
        temp = bf.save(commit=False)
        temp.stud_user_id = userid
        temp.save()
4

1 回答 1

5

您不能将多项选择字段保存到 CharField。CharField 是单个元素。MulitpleChoiceField 是多个。

我怀疑您想要做的是将一系列选择连接到 CharField 中的单个(逗号分隔?)值。您可以使用标准的forms.TextField(使用MultipleChoiceWidget)和执行连接的自定义clean 方法来做到这一点,但是您需要从目标CharField 中删除choices 属性。

于 2013-04-11T15:35:34.433 回答