2016-07-26 92 views
-1

所以问题是,当我尝试在服务器上发布数据时。 表单正确列出复选框。然而,当我选择的东西,然后提交表单,我会得到的形状误差:ModelMultipleChoiceField CheckboxSelectMultiple选择一个有效的选项。该选择不是可用选项之一

Select a valid choice. That choice is not one of the available choices 

forms.py

class addGoods(forms.Form): 
    ... 

    loading_type = forms.ModelChoiceField(queryset=Loading_type.objects.all(), widget=forms.CheckboxSelectMultiple, empty_label=None) 

    ... 

models.py

class Add_good(models.Model): 
    ... 

    loading_type = models.ManyToManyField(Loading_type, related_name="+") 

    ... 

,我读了我应该覆盖形式__init__,但我是在Django新,这就是为什么需要你的帮助

回答

0

问题是th在你的领域与小部件不匹配。您正在使用ModelChoiceField(用于选择一个选项)和CheckboxSelectMultiple小部件(用于选择多个选项)。

由于您的模型中有多对多字段,因此您需要改为ModelMultipleChoiceField

class addGoods(forms.Form): 
    ... 

    loading_type = forms.ModelMultipleChoiceField(queryset=Loading_type.objects.all(), widget=forms.CheckboxSelectMultiple, empty_label=None) 
+0

谢谢!这有助于 –

相关问题