我想摆脱Django在ModelForm上代表外键的选择输入中添加的“-------------”选项ModelChoiceField,删除空白选项
它是been answered您可以使用empty_label=none
选项,但我有一个ModelForm,而不是一个常规窗体,并且不允许覆盖该字段。
我知道我可以覆盖的ModelForm的__init__()
方法,以便使用
self.fields['my_foreign_key'].queryset = ....
修改ModelChoiceField的查询集但这将是非常难看,因为这发生在“主”了+10 foreign_keys模型,并有超过的ModelForm更多基于此模型
整个背景:
- 这些foreign_key点之一相同的一种模型:它们是特定的选择列表,许多模型通过管理员来简化它们的修改。
- 所有这些模型都通过一个“to_field = code”关系与主模型相关,基于一个包含三字母代码的Charfield(嘿,不是我的错,我不得不使用传统的MS Access DB),这CharField有
blank=True, unique=True
选项,这样我就可以,每个列表,创建一个"---No information yet---"
纪录而言,你打赌,一个空值,而不是三个字母代码...
目前情况:我得到一个有两个“空白值”选择的选择输入字段:django和我的一个接一个。 我只是错过了“empty_label = none`选择在这里太...
我想你可以重新定义/覆盖的领域。我这样做将DateTime模型字段更改为表单TimeField(并添加DateField的额外字段)。然后我重写表单的clean()方法来组合日期和时间字段。 – 2011-01-15 08:07:20