我有 ManyToMany 关系用户 - > User_Towns->城镇 ......
towns = models.ManyToManyField("Town", blank=False,verbose_name='Town',related_name="user_set", related_query_name="user")
...并且在SignForm
中想要显示DropDownList
而不是MultipleChoice
。如果在form.py中我写了一些像:
fields = ('email', 'first_name', 'last_name', 'middle_name','towns', 'phone',)
widgets = {
'towns': forms.Select(),
}
我得到一个DropDownList,但如果我选择一个城镇并提交表单,则会返回错误信息:
[Enter a list of values]
你能帮我解决这个问题吗?
答案 0 :(得分:3)
您可以将此方法放在form.py:
中class YourForm(forms.ModelForm):
...
def clean_towns(self):
return [self.cleaned_data['towns']]