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得到的启示,进而找到了该方法

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
默_笙4 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
长沙三为智能科技4 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
大勇前进4 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端