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 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
闻道且行之5 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
J-Tony116 小时前
【Redis】 Redis 是单线程还是多线程
服务器·数据库·mysql
这个DBA有点耶6 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
IvorySQL6 小时前
PG 日报|SQL/PGQ 图查询基于联接重写机制实现
数据库·人工智能·sql·postgresql·区块链·ivorysql
许彰午6 小时前
95_Python内存管理与垃圾回收
开发语言·python
骄阳如火7 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪7 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris8 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎8 小时前
SenseVoice微调
人工智能·python·自然语言处理