当数据库中的字段为空时,Django 在显示更改列表时插入“(None)”来保留空值的位置。虽然是描述性的,但当变更列表上有很多字段时,一切看起来都非常忙碌,而空白字段同样有帮助,但不会那么混乱。那么有什么方法可以更改 Django 用于表示更改列表中的空字段的文本吗?解决方案是特定于模型管理员还是管理员范围并不重要。
还应该补充一点,我知道您定义自定义字段然后输出空白字符串的解决方案。这可行,但 in 使列不可排序,并且这是显示之前的优先级,因此它不是一个选项。
从 Django 1.9 开始,这种行为发生了变化,并添加了一些自定义功能来支持您描述的情况的解决方案。
在 Django 1.9 中,Django 现在使用“-”(破折号)而不是“(无)”在 Django 管理中显示 NULL。
此外,您现在可以使用以下命令为 Django 管理员自定义默认的“-”(破折号)显示:empty_value_display
:全局,对于特定管理类或特定字段:
全球:
# In settings.py to show '???' instead of '-' for all null django admin values
from django.contrib import admin
admin.site.empty_value_display = '???'
对于 Django 管理类中的所有字段:
# admin.py to show "Unknown Item field" instead of '-' for null values in all Item fields
class ItemAdmin(admin.ModelAdmin):
empty_value_display = 'Unknown Item field'
对于单个字段:
# admin.py to show "No known price" instead of '-' just for null price values in Item
class ItemAdmin(admin.ModelAdmin):
list_display = ('name','price_view')
def price_view(self, obj):
return obj.price
price_view.empty_value_display = 'No known price'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)