通过Flask中的“管理”面板在表格中创建新行时,如何覆盖并添加一些额外的代码?
例如:用户在“发布”表中为新行输入信息,然后单击保存。我想添加一些代码以使用新的行信息自动执行流程。
答案 0 :(得分:0)
很明显,您可以重写方法on_model_change
以执行操作,然后再保存/更新新模型,或者after_model_change
进行之后的操作。
如果您使用的是Flask-SqlAchemy,则可以从类BaseModelView
或ModelView
继承。
在每种情况下,都会提供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'))
之外,您只能使用类似的方法来删除部件。