flask-admin 在modelview 默认视图下重写create_model_actions来实现列表数据的批量处理actions

背景:

在使用flask-admin 中modelview默认的视图时,有时需要扩展额外的action来实现特定效果,如添加基于列表的批量处理事件。

材料:

制作:

先来效果:

再上代码:

复制代码
 # 通过重写create_model_actions 扩展actions,即 默认视图中"选中的"下面出现
    def create_model_actions(self):
        return [
            action('read_news_action', '运行选中指令', self.read_action_view)
        ]
    
    @action('read_news_action', '运行选中指令', confirmation='确认要批量运行选中所有指令吗?')
    def read_action_view(self, ids):
        # Your custom action logic here
        ddlist = read_news_view(ids)
        if ddlist:
            self.session.add_all(ddlist)
            self.session.commit()
        print(f'Custom action executed for IDs: {ids}')

思考:

1、我们可以通过在flask-admin 的modelview视图中重写create_model_actions 的方式来实现批量业务的处理。

2、由于flask-admin官方资料并不完善,度娘搜索到的资料非常有限,只能通过阅读源码来学习较为深度的flask-admin,本create_model_actions方法重写是通过阅读源码中list.html得到的启示,进而找到了该方法

相关推荐
码事漫谈41 分钟前
一天搭出 80% 的 Agent,然后卡在 95% 到死
后端
2601_9622959941 分钟前
嵌入式开发语言用哪个最好,C,python或者其他
c语言·python·嵌入式开发·开发效率·系统资源
leonkay44 分钟前
C# 锁机制——【2】深入原理
开发语言·后端·spring·c#·个人开发
菜鸡66661 小时前
绕过cf验证,部署 FlareSolverr 服务使用request处理
python·cloudflare
江湖十年1 小时前
在 Go 中使用 dyno 包处理动态对象
后端·面试·go
八角丶1 小时前
Node 网络编程 —— TLS 模块
javascript·后端·node.js
山岚的运维笔记1 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
前端 贾公子1 小时前
第10章:RAG(2)
开发语言·python
2601_962299492 小时前
使用 Python 将 CSV 转为 PDF(含表格样式美化)
python·pdf·csv·spire.xls·表格样式
2601_962077982 小时前
利用Python,四步掌握机器学习
python·机器学习·数据挖掘·数据分析·编程