我对Django形式的下拉字段有一点疑问。我想添加到此字段占位符(或不活跃的第一选择作为占位符)和其他一些东西,如没有标签,类等。
我在forms.py
中写了这样的内容,但是现在我的表单已损坏-不要将值保存到数据库中。
from .models import Scenario, ScenarioArea
from django import forms
class newScenario(forms.ModelForm):
scenarioArea=forms.ModelChoiceField(label="", queryset=ScenarioArea.objects.values_list("scenarioAreaName", flat=True).distinct(), empty_label=None)
lass Meta:
model = Scenario
fields = ['scenarioArea']
其他所有字段类型都起作用,但是此下拉列表不起作用... 你能帮我吗?
答案 0 :(得分:1)
默认情况下,ModelChoiceField使用的窗口小部件将具有 列表顶部的空选项。您可以更改此文字 带有empty_label的标签(默认情况下为“ ---------”) 属性,也可以通过设置完全禁用空标签 将empty_label设置为无:
将empty_label
设置为None
时,此选项未显示。
示例
scenario_area = forms.ModelChoiceField(label="", queryset=ScenarioArea.objects.distinct('scenarioAreaName'), empty_label="Placeholder")