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

两种方式显示效果:

相关推荐
Coder_Boy_13 小时前
基于SpringAI的在线考试系统-考试系统DDD(领域驱动设计)实现步骤详解
java·数据库·人工智能·spring boot
workflower13 小时前
软件需求规约的质量属性
java·开发语言·数据库·测试用例·需求分析·结对编程
橘子1313 小时前
MySQL库的操作(二)
数据库·mysql·oracle
长行14 小时前
Python|Windows 安装 DeepSpeed 安装方法及报错 Unable to pre-compile async_io 处理
windows·python·deepspeed
百锦再14 小时前
python之路并不一马平川:带你踩坑Pandas
开发语言·python·pandas·pip·requests·tools·mircro
Python之栈14 小时前
5款拖拽式Python GUI生成器助你快速打造炫酷界面
python
todoitbo14 小时前
多模数据库技术解析:以KingbaseES MongoDB兼容版为例
数据库·mongodb·kingbasees·金仓数据库
灏瀚星空14 小时前
基于 Python 与 GitHub,打造个人专属本地化思维导图工具全流程方案(上)
开发语言·人工智能·经验分享·笔记·python·个人开发·visual studio
用什么都重名14 小时前
「实战指南」使用 Python 调用大模型(LLM)
python·大模型·llm·api调用
是Dream呀14 小时前
Python从0到100(一百):基于Transformer的时序数据建模与实现详解
开发语言·python·transformer