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)

显示效果如下:

后,执行后状态改变

相关推荐
技术小泽12 小时前
OptaPlanner入门以及实战教学
后端·面试·性能优化
JavaGuide12 小时前
利用元旦假期,我开源了一个大模型智能面试平台+知识库!
前端·后端
5:0013 小时前
Python进阶语法
开发语言·python
橙子家14 小时前
Serilog 日志库简单实践(四)消息队列 Sinks(.net8)
后端
Victor35614 小时前
Hibernate(21)Hibernate的映射文件是什么?
后端
pe7er14 小时前
如何阅读英文文档
java·前端·后端
pe7er14 小时前
IDEA 实用小技巧(自用)
后端
Victor35614 小时前
Hibernate(22)Hibernate的注解配置是什么?
后端
喵叔哟14 小时前
15.故障排查与调试
后端·docker·容器·服务发现
小康小小涵14 小时前
睿抗机器人大赛魔力元宝
python·ubuntu·gitee·github