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

两种方式显示效果:

相关推荐
六月雨滴5 小时前
Oracle 数据库 ASM 自动存储管理
数据库·oracle·dba
TE-茶叶蛋5 小时前
Java 8 引入的Stream API-stream()
java·windows·python
小陈的进阶之路5 小时前
Python系列课(9)——面向对象
开发语言·python
老年DBA5 小时前
ZFS存储池配置终极指南
运维·数据库
CableTech_SQH5 小时前
江苏理工学院武进绿建区协同创新园智能化建设 F5G 全光方案百盛分析报告
大数据·网络·数据库·5g·信息与通信
楼田莉子5 小时前
Linux网络:网络多路IO模型详解
linux·网络·数据库
wen_zhufeng5 小时前
python-dotenv 使用文档
数据库·python·oracle
phltxy5 小时前
Redis Java 集成到 Spring Boot
数据库·redis·git
Str_Null5 小时前
杀戮尖塔通过修改记录文件和备份文件进行修改血量和金币
python
钝挫力PROGRAMER5 小时前
复杂PDF转Markdown实战:从Marker到多模态的处理全记录
python·pdf