,可以通过使用ModelChoiceField和to_field_name属性来实现。
ModelChoiceField是Django表单中的一个字段类型,它可以将外键字段显示为下拉列表。默认情况下,它会将外键对象的主键值作为下拉列表的选项值,外键对象的字符串表示作为选项显示文本。
要将外键下拉列表显示为文本,可以通过设置ModelChoiceField的to_field_name属性来指定外键对象的某个字段作为选项显示文本。以下是一个示例:
from django import forms
from .models import MyModel
class MyForm(forms.ModelForm):
my_foreign_key = forms.ModelChoiceField(queryset=MyModel.objects.all(), to_field_name='name')
在上面的示例中,我们创建了一个名为MyForm的表单类,其中包含一个名为my_foreign_key的字段。该字段使用ModelChoiceField类型,并通过to_field_name属性指定了外键对象的name字段作为选项显示文本。
这样,在使用该表单类创建窗体实例并渲染到模板中时,my_foreign_key字段将以文本形式显示为下拉列表,选项文本为外键对象的name字段值。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库MySQL。
领取专属 10元无门槛券
手把手带您无忧上云