Django Admin Cookbook-7如何覆盖Django Admin后台模板
1.Django Admin Cookbook 中文版2.Django Admin Cookbook-简介3.Django Admin Cookbook-本书中使用的模型4.Django Admin Cookbook-1如何更改Django Admin管理后台标题Django administration5.Django Admin Cookbook-2如何设置模型的复数文本?6.Django Admin Cookbook-3如何创建两个独立的管理站点7.Django Admin Cookbook-4如何从Django管理员中删除默认应用程序8.Django Admin Cookbook-5如何在Django Admin后台中添加Logo9.Django Admin Cookbook-6如何覆盖Django Admin后台模板?
10.Django Admin Cookbook-7如何覆盖Django Admin后台模板
11.Django Admin Cookbook-8如何在Django admin中优化查询12.Django Admin Cookbook-9如何启用对计算字段的排序13.Django Admin Cookbook-10如何启用对计算字段的过滤14.Django Admin Cookbook-11如何显示计算出的布尔字段的“开”或“关”图标15.Django Admin Cookbook-12如何在Django管理员中添加额外操作?16.Django Admin Cookbook-13如何从Django Admin后台中导出CSV17.Django Admin Cookbook-14如何在Django Admin后台移除“删除所选”操作18.Django Admin Cookbook-15如何在Django Admin后台模型列表页面中添加自定义操作按钮19.Django Admin Cookbook-16如何使用Django Admin管理后台导入CSV20.Django Admin Cookbook-17如何仅限特定用户登录Django Admin管理后台21.Django Admin Cookbook-18如何限制对Django Admin管理部分功能的使用22.Django Admin Cookbook-19如何在管理后台中一个模型只允许创建一个对象23.Django Admin Cookbook-20如何删除模型的“添加”和“删除”按钮24.Django Admin Cookbook-21如何从Django Admin后台一个页面同时编辑多个模型25.Django Admin Cookbook-22如何将一对一关系添加为Admin内联字段26.Django Admin Cookbook-23如何在Django admin中添加嵌套的内联27.Django Admin Cookbook-24如何从两个不同的模型创建一个Django Admin后台页面28.Django Admin Cookbook-25如何在模型列表页上显示更多行29.Django Admin Cookbook-26如何禁用Django Admin后台分页30.Django Admin Cookbook-27如何在Django Admin后台中添加基于日期的过滤31.Django Admin Cookbook-28如何在列表视图页面上显示多对多或反向联接字段32.Django Admin Cookbook-29如何在Django Admin后台中显示Imagefield中的图像33.Django Admin Cookbook-30保存时如何将模型与当前用户关联34.Django Admin Cookbook-31如何在Django Admin后台中将字段标记为只读35.Django Admin Cookbook-32如何在Django Admin后台中显示不可编辑的字段36.Django Admin Cookbook-33如何使字段在创建时可编辑,修改时只读?37.Django Admin Cookbook-34如何在Django Admin中过滤外联字段38.Django Admin Cookbook-35如何使用带有大量对象的FK管理模型39.Django Admin Cookbook-36如何更改下拉菜单中的ForeignKey显示文本40.Django Admin Cookbook-37如何向Django更改视图页面添加自定义按钮41.Django Admin Cookbook-38如何获取特定对象的Django Admin后台URL42.Django Admin Cookbook-39如何两次向Django管理员添加模型43.Django Admin Cookbook-40如何为Django Admin覆盖保存操作44.Django Admin Cookbook-41如何将数据库视图添加到Django Admin后台45.Django Admin Cookbook-42如何在Django Admin后台控制台中设置应用程序和模型的顺序返回目录#
7.如何在列表视图页面上显示计算字段?#
假设你admin.py中有一个OriginAdmin管理模型,如下所示:
@admin.register(Origin)
class OriginAdmin(admin.ModelAdmin):
list_display = ("name",)
除了名称之外,我们还想显示每个Origin的Hero英雄数量和Villain反派数量。但这不是Origin模型的DB字段。你可以通过以下两种方式实现此操作。
7.1 在模型中添加方法#
你可以models.py的Origin模型中添加两个方法:
def hero_count(self,):
return self.hero_set.count()
def villain_count(self):
return self.villain_set.count()
并更改的list_display为:list_display = ("name", "hero_count", "villain_count")
7.2 向ModelAdmin中添加方法#
如果你不想将方法添加到模型中,则可以将方法添加到admin.py该模型的ModelAdmin中。
def hero_count(self, obj):
return obj.hero_set.count()
def villain_count(self, obj):
return obj.villain_set.count()
同样修改list_display为:list_display = ("name", "hero_count", "villain_count")
7.3 字段计算的性能考虑#
使用以上两种方法之一,每个对象将运行两个exta查询(每个计算字段一个)。你可以在[Django Admin后台中的如何优化查询]一章中找到如何优化此设置 。。
进行任何这些更改后,Admin后台效果如下所示:
作者:韩志超
出处:https://www.cnblogs.com/superhin/p/12166690.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
如有问题,请微信联系 superz-han,并发送原文链接。
分类:
Django Admin
/* 请我喝杯咖啡吧 */
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 2025成都.NET开发者Connect圆满结束
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络