Django Admin在列表视图页面上显示计算字段
两种方法:
注册模型有两种方式,需要首先添加或者修改admin中的注册模型如下方式
@admin.register(Origin)
class OriginAdmin(admin.ModelAdmin):
list_display = ("name",)
1、在models的模型类中添加函数
def hero_count(self,):
return self.hero_set.count()
def villain_count(self):
return self.villain_set.count()
2、在admin的管理模型上,修改或者添加管理模型如下所示(两个方法函数):
@admin.register(Origin)
class OriginAdmin(admin.ModelAdmin):
def hero_count(self, obj):
return obj.hero_set.count()
def villain_count(self, obj):
return obj.villain_set.count()
# 以下两句可选择添加
hero_count.short_description = 'Heroes' # 设置列标题
villain_count.short_description = 'Villains' # 设置列标题
list_display = ("name", "hero_count", "villain_count")
两种方式显示效果: