小编Dom*_*ola的帖子

ModelChoiceField,删除空白选项

我想摆脱Django在模拟窗体上表示外键的选择输入中添加的"-------------"选项

得到回答,您可以使用该empty_label=none选项,但我有一个的ModelForm,不是正规的形式和覆盖领域是不允许的.

我知道我可以覆盖__init__()ModelForm 的方法,以便使用修改ModelChoiceField的查询集

self.fields['my_foreign_key'].queryset = ....
Run Code Online (Sandbox Code Playgroud)

但这真的很难看,因为这发生在"Main"模型上的+10个foreign_keys上,并且不仅仅是基于这个模型的Modelform

整个背景:

  • 这些foreign_key中的每一个都指向相同类型的模型:它们是特定的选择列表,许多模型可以通过管理员轻松修改它们.
  • 所有这些模型都通过"to_field = code"关系与Main模型相关,基于包含三字母代码的Charfield(嘿,不是我的错,我不得不使用传统的MS Access DB),这个CharField有该blank=True, unique=True选项,这样我就可以,每个列表,创建一个"---No information yet---"具有,你打赌纪录,空值,而不是一个三个字母的代码...

现在的情况是:我得到一个带有两个"空白值"选择的选择输入字段:django one和mine,一个接一个.我在这里也错过了'empty_label = none`选项...

django django-forms

19
推荐指数
1
解决办法
1万
查看次数

标签 统计

django ×1

django-forms ×1