从ORM数据中选择ModelChoiceField中设置“值”

时间:2018-07-24 19:11:46

标签: python django django-forms

我正在使用ModelChoiceField并直接从ORM填充它,但想专门设置“ VALUE”属性。

我这样创建表单对象:

dog_breed = forms.ModelChoiceField(
    queryset=Breeds.objects.all(),
    label='',
    widget=forms.Select(attrs={
        'id': 'dog-breeds',
        'class': 'select-standard'
    }))

现在::渲染后返回以下内容:

<option value="1">Black Lab</option> 
<option value="2">Golden Retriever</option> 

目标:如何设置“值”属性,使其呈现为这样:

<option value="Black Lab">Black Lab</option> 
<option value="Golden Retriever">Golden Retriever</option> 

1 个答案:

答案 0 :(得分:0)

将表单替换为此:

dog_breed = forms.ModelChoiceField(
   queryset=Breeds.objects.all(),
   to_name_field='name' # or what you want field name that exists in Breeds model
   label='',
   widget=forms.Select(attrs={
       'id': 'dog-breeds',
       'class': 'select-standard'
   }))