如何删除Django中的选择和无线电输入中未选择的项目

Geo*_*gie 6 python forms django model choice

如果模型的字段是选项或外键,则页面上的窗口小部件是选择输入或无线电(如果指定).Django将"---------"作为未选择的值放在第一个项目中.如何覆盖它甚至删除它?我记得读过这样做但却找不到它的方法.

Dom*_*ola 8

Django表单doc:

默认情况下,<select>使用的窗口小部件ModelChoiceField在列表顶部有一个空选项.您可以使用empty_label属性更改此标签的文本(默认为"---------"),也可以通过设置完全禁用空标签empty_label=None:

field2 = forms.ModelChoiceField(queryset=..., empty_label=None)

如果你需要这样做ModelForm,我在这里得到了答案.


Pio*_*uda 6

请参阅:http://docs.djangoproject.com/en/dev/topics/forms/modelforms/

如果模型字段已设置选项,则表单字段的窗口小部件将设置为"选择",其中的选项来自模型字段的选项.选项通常包括默认选择的空白选项.如果该字段是必需的,则强制用户进行选择.如果模型字段为空白= False且显式默认值(最初将选择默认值),则不会包括空白选项.