我有一个ManyToMany关系User->User_Towns->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]
你能帮我解决这个问题吗?
请您参考如下方法:
你可以把这个方法放在form.py中:
class YourForm(forms.ModelForm):
...
def clean_towns(self):
return [self.cleaned_data['towns']]
