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)

显示效果如下:

后,执行后状态改变

相关推荐
铁皮饭盒18 分钟前
bun直接tsx,优雅!
javascript·后端
aqi0030 分钟前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Cosolar1 小时前
藏在 Claude Code 里的极致浪漫:完整 187 条 Spinner Verbs 全收录
后端·程序员·代码规范
Csvn1 小时前
Linux 防火墙管理 — firewalld 实战
后端
Csvn1 小时前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
leeyi2 小时前
Multi-Agent:让多个 AI 分工协作完成复杂任务
后端·aigc·agent
长栎2 小时前
你的策略模式是 Map<String, Strategy>?那不过是最廉价的 if-else 替代品
后端
长栎2 小时前
你写的 abstract class 里全是钩子方法——模板模式不是让你填空,是让你别越界
后端
ping某2 小时前
语法树,到底是一棵什么形状的树?
后端