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

两种方式显示效果:

相关推荐
程序员爱钓鱼34 分钟前
Python编程实战:面向对象与进阶语法——上下文管理器(with语句)
后端·python·ipython
程序员爱钓鱼42 分钟前
Python编程实战:面向对象与进阶语法——装饰器(Decorator)
后端·python·ipython
WeiQ_3 小时前
解决phpstudy 8.x软件中php8.2.9没有redis扩展的问题
数据库·redis·缓存
JELEE.4 小时前
Django登录注册完整代码(图片、邮箱验证、加密)
前端·javascript·后端·python·django·bootstrap·jquery
孫治AllenSun5 小时前
【算法】图相关算法和递归
windows·python·算法
DashVector7 小时前
向量检索服务 DashVector产品计费
数据库·数据仓库·人工智能·算法·向量检索
KYGALYX8 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
读研的武8 小时前
DashGo零基础入门 纯Python的管理系统搭建
开发语言·python
檀越剑指大厂8 小时前
金仓KReplay:定义数据库平滑迁移新标准
数据库