我使用ModelChoiceSelect
在django中创建了一个表单,我想在select小部件上放置一个empty_label
,因此第一个选择不是所选的那个。这是我的forms.py:
from django import forms
from .models import Country, Embassy
class CountryListForm(forms.Form):
countries = forms.ModelChoiceField(queryset=Country.objects.all().order_by('name'), empty_label="(Nothing)")
我从documentation了解到的,我只需要传递empty_label
属性值来创建它。我已经做到了,但空洞的选择没有出现,我对这个表格做错了什么?
无论是empty_label
答案 0 :(得分:0)
empty_label
属性是可选的。默认情况下它是“--------”。选择此选项后,表单字段countries
将返回的对象将为None
。如果您想在字段中选择None
,则可以通过empty_label
设置其显示字符串。
countries = forms.ModelChoiceField(queryset=Country.objects.all().order_by('name'), empty_label="Any String You Want None Option")
如果您不想要None
选项,请将empty_label
设置为None
。这将在queryset
中显示第一个对象作为第一个选项。
countries = forms.ModelChoiceField(queryset=Country.objects.all().order_by('name'), empty_label=None)