11.如何显示计算出的布尔字段的“开”或“关”图标?
在上一章中,如何对计算字段启用过滤?,我们添加了如下一个布尔类型的字段:
def is_very_benevolent(self, obj):
return obj.benevolence_factor > 75
后台显示如下:
该is_very_benevolent字段显示字符串True和False,这与内置的BooleanFields显示开和关指示符不同。要解决此问题,我们需要为该字段添加一个boolean属性。对管理模型进行修改如下:
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin):
list_display = ("name", "is_immortal", "category", "origin", "is_very_benevolent")
list_filter = ("is_immortal", "category", "origin", IsVeryBenevolentFilter)
def is_very_benevolent(self, obj):
return obj.benevolence_factor > 75
is_very_benevolent.boolean = True
修改后,管理后台显示如下: