2

我有一个 ModelChoiceField,其中包含从我的数据库中选择的客户名称。但是在提交表单时我得到:

“选择一个有效的选择。该选择不是可用的选择之一”

这是我的表格:

class FormVents(forms.Form):
  client_name=forms.ModelChoiceField(queryset=client.objects.all().values_list('nom', flat=True),required=False)

  def clean(self):
     client_name = self.cleaned_data.get('client_name')
     print(client_name)

我尝试打印 client_name 以检查我是否可以获得该值,但我得到 None !我想这就是为什么我总是得到那个错误不知道是什么问题?我称呼该领域的方式不对吗?请提供任何帮助。太感谢了

4

1 回答 1

3

删除.values_list('nom', flat=True).

IE

client_name=forms.ModelChoiceField(queryset=client.objects.all(), required=False)

如果您希望该value属性是模型中的特定字段(默认使用主键),请使用to_field_namemodelchoicefield 的关键字。

例如,

client_name=forms.ModelChoiceField(queryset=client.objects.all(), to_field_name='nom', required=False)
于 2018-03-23T15:42:37.913 回答