我有一个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']]

关于python - Django的。如何在表单ManyToMany字段中显示为“选择”(下拉列表),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35030386/

10-11 06:36