flask-admin 在modelview 视图中重写on_model_change 与after_model_change

背景:

当我们在使用flask-admin进行WEB开发时应该第一时间想到的是竟可能使用框架推荐的modelView模型,其次才是自定义模型 baseview,因为只有modelview模型下开发才能最大限度的提高效率。

制作:

1、在modelview视图下框架会通过默认视图进行展示模型信息,有时候因业务需要在模型数据增改时需要做一些前置或者后置操作。

2、框架提供on_model_change和 after_model_change2个函数来分别应模型数据修改前和修改后事件

    def after_model_change(self, form, model, is_created):
        """
            Perform some actions after a model was created or updated and
            committed to the database.

            Called from create_model after successful database commit.

            By default does nothing.

            :param form:
                Form used to create/update model
            :param model:
                Model that was created/updated
            :param is_created:
                True if model was created, False if model was updated
        """
        pass

    def on_model_change(self, form, model, is_created):
        """
            Perform some actions before a model is created or updated.

            Called from create_model and update_model in the same transaction
            (if it has any meaning for a store backend).

            By default does nothing.

            :param form:
                Form used to create/update model
            :param model:
                Model that will be created/updated
            :param is_created:
                Will be set to True if model was created and to False if edited
        """
        pass

注意:a、2个函数的model中都可以拿到当前模型兑换ing表单form 信息和DB模型信息

b、这2个函数只能在modelview 模型及其子模型中生效

相关推荐
ss2731 分钟前
被催更了,2025元旦源码继续免费送
java·vue.js·spring boot·后端·微信小程序·开源
懒大王爱吃狼5 分钟前
python基于diagrams库绘制系统架构图
开发语言·python·系统架构·自动化·python基础·python教程
JavaPub-rodert5 分钟前
项目48:简易语言学习助手【源代码】 --- 《跟着小王学Python·新手》
服务器·开发语言·python·学习·microsoft
匹马夕阳17 分钟前
安装Anaconda搭建Python环境,并使用VSCode作为IDE运行Python脚本
ide·vscode·python
码农君莫笑17 分钟前
在 Blazor 和 ASP.NET Core 中使用依赖注入和Scoped 服务实现数据共享方法详解
前端·后端·c#·.netcore·visual studio
庆 、32 分钟前
Django REST framework 源码剖析-视图类详解(Views)
后端·python·django·framework·框架·restful·rest
矩阵猫咪33 分钟前
creating-custom-commands-in-flask
后端·python·flask
凡人的AI工具箱36 分钟前
每天40分玩转Django:Django Celery
数据库·后端·python·django·sqlite
矩阵猫咪37 分钟前
create-a-weather-app-using-flask-python
后端·python·flask
JINGWHALE143 分钟前
设计模式 结构型 装饰器模式(Decorator Pattern)与 常见技术框架应用 解析
前端·人工智能·后端·设计模式·性能优化·系统架构·装饰器模式