如果模型的字段是选项或外键,则页面上的小部件是选择输入或单选(如果您指定)。Django 将“---------”作为未选择的值放在第一项中。我怎样才能覆盖它甚至删除它?我记得读过这样做的方法,但再也找不到了。
问问题
4440 次
3 回答
8
来自Django 表单文档:
默认情况下,
<select>
所使用的小部件ModelChoiceField
将在列表顶部有一个空选项。您可以使用属性更改此标签的文本(默认为“------”)empty_label
,或者您可以通过设置完全禁用空标签empty_label=None
:
field2 = forms.ModelChoiceField(queryset=..., empty_label=None)
如果您需要在 a 上执行此操作,我在这里ModelForm
有一个答案。
于 2011-01-17T08:33:25.780 回答
6
请参阅:http ://docs.djangoproject.com/en/dev/topics/forms/modelforms/
如果模型字段设置了选项,则表单字段的小部件将设置为选择,选项来自模型字段的选项。选项通常包括默认选择的空白选项。如果该字段是必需的,这将强制用户进行选择。如果模型字段具有 blank=False 和显式默认值(最初将选择默认值),则不会包含空白选项。
于 2010-10-14T17:24:08.873 回答
3
如果是 ModelForm,只需default=None
在您的模型中设置,如下所示:
choose = models.CharField(max_length=3, choices=choose_dict, default=None)
于 2011-01-16T22:11:35.260 回答