如何更改Django-admin Select字段的“无选择”文本?

时间:2015-08-31 22:02:27

标签: django django-forms django-admin

当Django Admin使用Select小部件时,默认/ top / no-selection选项为“--------”:

enter image description here

有没有办法自定义该选项?我尝试手动修改选择字段的“选择”值:

def __init__(self, *args, **kwargs):
    super(MyAdminForm, self).__init__(*args, **kwargs)
    self.fields['my_field'].choices[0] = (u'', 'something else')

但这不起作用,因为管理员仍然显示“--------”...


更新
建议的duplicate question中的答案几乎解决了我的问题......但是,答案似乎是为所有选择字段提供相同无选择选项的技术。

在我的例子中,有问题的ModelForm由TabularInline ModelAdmin使用,因此表单在页面上重复20次,不同的实例需要不同的非选择值(取决于self.instance)。

此外,最新投票的答案不适用于最新版本的Django - 现在需要在empty_label对象之前设置self.base_fields['my_field']字段致电super()。但是我需要self.instance才能进行自定义,而self.instance在调用None之前为super() ...

0 个答案:

没有答案