ModelChoiceField 总是引发:“选择一个有效的选项。该选项不是可用的选项之一”

问题描述 投票:0回答:1

我有一个 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 来检查我是否可以获得该值,但我没有得到任何结果!我想这就是为什么我总是收到这个错误 不知道是什么问题?是我调用该字段的方式不对吗? 请提供任何帮助。非常感谢你

python django forms modelchoicefield
1个回答
4
投票

删除

.values_list('nom', flat=True)

IE

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

如果您希望

value
属性成为模型中的特定字段(默认情况下使用主键),请对 modelchoicefield 使用
to_field_name
关键字。

例如,

client_name=forms.ModelChoiceField(queryset=client.objects.all(), to_field_name='nom', required=False)
© www.soinside.com 2019 - 2024. All rights reserved.