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

Flask-Admin批量业务处理方法

背景:

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值