我创建了以下表单:
class ProductFilter(forms.Form):
price = forms.IntegerField(label='Price', widget=forms.Select(choices=PRICE_CHOICES), required=False)
category = forms.ModelChoiceField(queryset=Category.objects.all(), required=False)
language = forms.ModelChoiceField(queryset=ProductLanguage.objects.all(), required=False)
类别和语言中的默认<option>
显示为"------------"
。我知道我可以设置initial="..."
,但我希望默认选项不是查询集的一部分。
是否有可能以某种方式插入选项?我不想创建一种叫做“all”的语言或类别。
答案 0 :(得分:1)
您可以通过设置empty_label
来更改------------
。
category = forms.ModelChoiceField(queryset=Category.objects.all(), required=False, empty_label='(none)')
请注意,如果未选择任何类别,则使用此值。设置empty_label="all"
会很困惑。