14、Django Admin的“Action(动作)”中添加额外操作

如图红框增加操作

将以下代码添加到HeroAdmin类中

python 复制代码
actions = ["mark_immortal"]
def mark_immortal(self, request, queryset):
    queryset.update(is_immortal=True)

修改后完整代码如下:

python 复制代码
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin):
    list_display = ("name", "is_immortal", "category", "origin", "is_very_benevolent")
    list_filter = ("is_immortal", "category", "origin", IsVeryBenevolentFilter)
    def is_very_benevolent(self, obj):
        return obj.benevolence_factor > 75
    is_very_benevolent.boolean = True
    
    actions = ["mark_immortal"]
    
    def mark_immortal(self, request, queryset):
        queryset.update(is_immortal=True)

显示效果如下:

后,执行后状态改变

相关推荐
Raink老师8 分钟前
第 11 章 错误处理与异常
python
Lululaurel9 分钟前
AI编程文本挖掘提示词实战
人工智能·python·机器学习·ai·ai编程·提示词
HappRobot16 分钟前
Python 面向对象
开发语言·python
BoBoZz1942 分钟前
AlignTwoPolyDatas 基于ICP算法的配准和相机视角切换
python·vtk·图形渲染·图形处理
韩立学长1 小时前
基于Springboot酒店管理系统的设计与实现c12044zy(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
嗝o゚1 小时前
Flutter与开源鸿蒙:一场“应用定义权”的静默战争,与开发者的“范式跃迁”机会
python·flutter
一只会奔跑的小橙子1 小时前
pytest安装对应的库的方法
python
资深web全栈开发1 小时前
深入理解 Google Wire:Go 语言的编译时依赖注入框架
开发语言·后端·golang
忘记9261 小时前
什么是spring boot
java·spring boot·后端
ohoy1 小时前
EasyPoi 数据脱敏
开发语言·python·excel