我在list_display(admin class)中编写了自己的方法,如下所示:
class MyClassAdmin(admin.ModelAdmin):
list_display = ('my_own_method')
def my_own_method(self, obj):
if [condition]:
return True
else:
return False
但是这个值在列表中显示为文本(True或False),而不是像这样的默认django布尔图标:
我该怎么做才能改变这个?
答案 0 :(得分:10)
将您的代码更改为以下内容:
class MyClassAdmin(admin.ModelAdmin):
list_display = ('my_own_method')
def my_own_method(self, obj):
if [condition]:
return True
else:
return False
my_own_method.boolean = True
可以在list_display
上的documentation找到:
如果给定的字符串是模型的方法,ModelAdmin或返回True或False的可调用Django将显示一个漂亮的“on”或“off”图标,如果你给该方法一个值为True的布尔属性。 / p>