gpt4 book ai didi

python - 在 Django 管理更改列表中,如何显示空格而不是默认的 "(None)"?

转载 作者:行者123 更新时间:2023-12-01 23:56:50 25 4
gpt4 key购买 nike

当数据库中的字段为空时,Django 在显示更改列表时插入“(None)”以保留空值的位置。虽然是描述性的,但当变更列表上有很多字段时,一切看起来都非常忙碌,而空白字段同样有帮助,但不会那么困惑。那么有什么方法可以更改 Django 用于表示更改列表中的空字段的文本吗?解决方案是特定于模型管理员还是管理员范围并不重要。

还应该补充一点,我知道您定义自定义字段然后输出空白字符串的解决方案。这可行,但 in 使列不可排序,并且这是显示之前的优先级,因此它不是一个选项。

最佳答案

从 Django 1.9 开始,此行为发生了变化,并添加了一些自定义功能来支持您描述的情况的解决方案。

在 Django 1.9 中,Django 现在使用“-”(破折号)而不是“(无)”在 Django 管理中显示 NULL。

此外,您现在可以使用 empty_value_display 为 Django 管理自定义默认的“-”(破折号)显示:全局、针对特定管理类或特定字段:

全局:

# 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'

关于python - 在 Django 管理更改列表中,如何显示空格而不是默认的 "(None)"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com