覆盖Flask Admin将新行保存在表中

时间:2018-07-11 01:21:14

标签: python flask flask-admin

通过Flask中的“管理”面板在表格中创建新行时,如何覆盖并添加一些额外的代码?
例如:用户在“发布”表中为新行输入信息,然后单击保存。我想添加一些代码以使用新的行信息自动执行流程。

1 个答案:

答案 0 :(得分:0)

很明显,您可以重写方法on_model_change以执行操作,然后再保存/更新新模型,或者after_model_change进行之后的操作。 如果您使用的是Flask-SqlAchemy,则可以从类BaseModelViewModelView继承。

在每种情况下,都会提供3个参数以供使用:视图使用的form,新的/更新的model和标志is_created,以了解模型是否为新模型({{1)}或更新。

您可以如下定义模型视图:

True

注意:除{@ 1}和from flask_admin import Admin from flask_admin.contrib.sqla import ModelView class PostView(ModelView): def after_model_change(self, form, model, is_created): print(form, model, is_created) def on_model_change(self, form, model, is_created): print(form, model, is_created) admin = Admin(template_mode='bootstrap3') admin.add_view(PostView(Post, db.session, name='Posts')) 之外,您只能使用类似的方法来删除部件。