In the previous chapter, How to enable filtering on calculated fields? you added a boolean field.:
def is_very_benevolent(self, obj):
return obj.benevolence_factor > 75
Which looks like this
The
is_very_benevolent
field shows the string True and False, unlike the builtin BooleanFields which show an on and off indicator. To fix this, you add a boolean
attribute on your method. You final modeladmin looks like this:@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
And your admin looks like this
No comments:
Post a Comment