12、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")

两种方式显示效果:

相关推荐
阿华的代码王国3 分钟前
数据库———事务及bug的解决
数据结构·数据库·mysql
飞翔的佩奇3 分钟前
Java项目: 基于SpringBoot+mybatis+maven医院管理系统(含源码+数据库+任务书+开题报告+毕业论文)
java·数据库·spring boot·毕业设计·maven·mybatis·医院管理系统
hogenlaw22 分钟前
Oracle从入门到放弃
数据库·oracle
亿牛云爬虫专家25 分钟前
优化数据的抓取规则:减少无效请求
python·数据采集·多线程·爬虫代理·数据抓取·代理ip·房价
程序媛堆堆27 分钟前
解决NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+问题
python
DreamByte30 分钟前
Python Tkinter小程序
开发语言·python·小程序
Python极客之家31 分钟前
基于深度学习的眼部疾病检测识别系统
人工智能·python·深度学习·毕业设计·卷积神经网络
卡兰芙的微笑36 分钟前
get_property --Cmakelist之中
前端·数据库·编辑器
Bigcrab__37 分钟前
Python3网络爬虫开发实战(15)Scrapy 框架的使用(第一版)
爬虫·python·scrapy
Z_W_H_1 小时前
【PostgreSQL】安装及使用(Navicat/Arcgis),连接(C#)
数据库·postgresql