Python 德扬戈。如何在表单中显示多个字段作为选择(下拉列表)

Python 德扬戈。如何在表单中显示多个字段作为选择(下拉列表),python,django,many-to-many,Python,Django,Many To Many,我有一个manytomy关系User->User\u Towns->Towns towns = models.ManyToManyField("Town", blank=False,verbose_name='Town',related_name="user_set", related_query_name="user") …在SignForma中,您希望显示DropDownList而不是multipleechoice。如果在form.py中,我写了一些类似于: fields = ('em

我有一个manytomy关系User->User\u Towns->Towns

towns = models.ManyToManyField("Town", blank=False,verbose_name='Town',related_name="user_set", related_query_name="user")
…在
SignForm
a中,您希望显示
DropDownList
而不是
multipleechoice
。如果在form.py中,我写了一些类似于:

  fields = ('email', 'first_name', 'last_name', 'middle_name','towns', 'phone',)
    widgets = {
        'towns': forms.Select(),
    }
我得到一个下拉列表,但如果我选择一个城镇并提交表单,它会返回一个错误:

[Enter a list of values]

您能帮我解决这个问题吗?

您可以将此方法放在表单.py中:

class YourForm(forms.ModelForm):
   ...
   def clean_towns(self):
      return [self.cleaned_data['towns']]