4、Django Admin对自定义的计算字段进行排序

news2024/9/22 21:30:25

通常,Django会为模型属性字段,自动添加排序功能。当你添加计算字段时,Django不知道如何执行order_by,因此它不会在该字段上添加排序功能。

如果要在计算字段上添加排序,则必须告诉Django需要排序的内容。你可以通过在在计算字段方法中设置admin_order_field属性来执行此操作 。

以OriginAdmin为例,添加以下代码

hero_count.admin_order_field = '_hero_count'
villain_count.admin_order_field = '_villain_count'

完整代码如下:

@admin.register(Origin)
class OriginAdmin(admin.ModelAdmin):
    list_display = ("name", "hero_count", "villain_count")

    def get_queryset(self, request):
        queryset = super().get_queryset(request)
        queryset = queryset.annotate(
            _hero_count=Count("hero", distinct=True),
            _villain_count=Count("villain", distinct=True),
        )
        return queryset
    def hero_count(self, obj):
        return obj._hero_count
    def villain_count(self, obj):
        return obj._villain_count
    hero_count.admin_order_field = '_hero_count'
    villain_count.admin_order_field = '_villain_count'

显示效果:

后,点击抬头标签,显示字段排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有了这款AI代码神器Coursor,学习Rust不再是难题!

大家好,我是渔夫。 工欲善其事,必先利其器。AI 是未来十年生产力的核心工具,要让 AI 真正转化为生产力,而不仅仅是围观一时的热潮。 今天来聊聊最近又火爆AI圈的AI代码神器 Cursor,它其实是一款 VS Code 的一个分支&am…

在C#中使用Redis

NoSql NoSql概念 NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起, 历史中—中国的网站----马云--- 中国黄页,只能展示;用户只能看到 传统的关系数据库在处理web2.0网站(可以看,也可以做到写&am…

华为云CCE集群创建loadBalancer

目录 一、目的 二、创建应用 三、创建服务 loadBalancer 四、域名解析 五、验证 一、目的 1、为CCE容器应用创建loadBalancer服务,并且绑定https协议的域名 2、公网访问域名: https://test.******.com 3、CCE创建用于公网域名访问的loadBalancer,不…

IAR9.X printf串口重定向方法,或提示Linker Error: “no definition for __write“的解决方案

一、问题现象: 1、Error[Li005]:no definition for"__write" [referenced from flush.o(dl7M_tlf.a)] 2、串口重映射代码没问题,但是串口工具接收不到数据 3、复现环境:IAR9.40.1 二、操作方法: 1、[工程项目]->[Options]…

【负载均衡式在线OJ】Compile_server 模块

文章目录 程序源码compile_server整体思路编译(compile.hpp)运行模块编译运行模块编译运行服务 程序源码 https://gitee.com/not-a-stupid-child/online-judge compile_server 整体思路 这个服务要对oj_server 发送过来的代码进行编译和运行,最后把结果返回给oj…

理想二极管

原理图 mos管选型 参考链接 很实用!用MOS管制作一个理想中的二极管_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Xi421r7K8/?spm_id_from333.1007.tianma.2-1-4.click&vd_sourcee821a225c7ba4a7b85e5aa6d013ac92e 特此记录 anlog 2024年9月3日

JS设计模式之“单孑独立” - 单例模式

image.png 引言 在JavaScript开发中,单例模式是一种常见且实用的设计模式一。 单例模式的核心思想是:确保一个类只有一个实例对象,并且该对象可以在应用程序的任何地方被共享和访问。通过使用单例模式,我们可以简化代码、节省资…

SpringCloud开发实战(一):搭建SpringCloud框架

本系列文章主要是记录在工作中用到的微服务的各个组件,以及学习新的微服务组件~如有问题,欢迎大家批评指导。如果本文对你有帮助,还请点个收藏和关注。感谢支持,希望大家写的代码都没有BUG!! 前言 下面是我…

Linux下编译安装SuperLU

SuperLU用于求解大规模稀疏线性方程组,本文记录在远程Linux服务器下编译安装SuperLU的流程。 一、配置VS Code 2.1 安装VS Code Extensions 在本地打开VS Code, 安装以下扩展插件, Task Explorer Output Colorizer Git Extension Pack Remote Develop…

Stirling-PDF:基于Web的开源PDF处理工具

PDF文件进行各种各样的操作,比如合并、拆分、加密、解密、旋转、压缩等等,功能超全,而且开源免费,简直是神器! GitHub - Stirling-Tools/Stirling-PDF: #1 Locally hosted web application that allows you to perfor…

【JAVA开源】基于Vue和SpringBoot的历史学习网站

本文项目编号 T 004 ,文末自助获取源码 \color{red}{T004,文末自助获取源码} T004,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

IDEA主题的设置

目录 一、更换皮肤: 二、设置背景图片: 1.点击 File -> Settings ; 2.选择 Appearance & Behavior -> Appearance ; 一、更换皮肤: 1. Theme: 点击下拉框打开; 白色皮肤: inteIIiJ light Windows 10 Lig…

VirtualLab Fusion Installer-7.6.1.18 安装包 永不过期 永久使用 下载

下载地址(资源制作整理不易,下载使用需付费,不能接受请勿浪费时间下载) 链接:https://pan.baidu.com/s/14yJGZAosK_ftJhHD0D4VHA?pwd00zn 提取码:00zn

Lua:条件断点

如果有很多方式都要经过这个函数,但是你只需要满足其中例如参数等于Test的这一种,可以在断点处右键点击编辑断点打上条件断点,只有参数EventName等于Test的才会断上。

如何打造高校实验室预约系统?Java SpringBoot助力高效管理,MySQL存储数据,Vue前端展现,四步实现学生轻松预约!

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

【机器学习-神经网络】循环神经网络

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科,通过算法和模型让计算机从数据中学习,进行模型训练和优化,做出预测、分类和决策支持。Python成为机器学习的首选语言,…

Graylog配置用户权限以及常用搜索语法

文章目录 一、Graylog配置用户管理1、用户创建2、角色权限管理 二、搜索语法 基于Docker搭建Graylog的具体步骤: https://blog.csdn.net/weixin_44876263/article/details/141638739?spm1001.2014.3001.5502 一、Graylog配置用户管理 1、用户创建 2、角色权限管理…

Linux--实现简易shell

文章目录 shell定义和功能myshell.cGetCwd()GetUsrName()GetHostName()MakeCommandLineAndPrint()GetUserCommand()SplitCommand()Die()ExecuteCommand()GetHome()Cd()CheckBuildin()CheckRedir()myshell.c完整代码 makefile测试函数和进程之间的相似性 Shell是一个功能强大的工…

LVS之net模式实验

总结: lvs #配置环境,两个网卡 [rootlvs ~]# cd /etc/NetworkManager/system-connections/ [rootlvs system-connections]# ls ens160.nmconnection eth0.nmconnection eth1.nmconnection [rootlvs system-connections]# vim eth0.nmconnection [co…

华为OD机试 - 猜数字 - 穷举搜索(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…