Flask -appbuilder, как добавить журнал аудита для любых изменений строк в таблице? - PullRequest
1 голос
/ 02 августа 2020

Я пытаюсь создать таблицу пользователей с помощью flask -appbuilder и хочу регистрировать любые вставки, обновления и удаления изменений в этой таблице. Мой код ниже расширяет Auditmixin, так что у меня будут автоматические столбцы для записи, кто / когда создает / обновляет таблицу, но я не могу записывать историю изменений строк для аудита.

Как я могу добавить что-то вроде слушателя в Flask -appbuilder, чтобы запустить запись в файл или базу данных?

model.py

from flask_appbuilder import Model
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy.orm import relationship
from flask_appbuilder.models.mixins import AuditMixin


class MyGenericModel(AuditMixin, Model):
    id = Column(Integer, primary_key=True)
    age = Column(Integer)
    name = Column(String(100))

view.py

from flask import render_template
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_appbuilder import ModelView, ModelRestApi

from . import appbuilder, db
from app.models import MyGenericModel

class MyModelView(ModelView):
    datamodel = SQLAInterface(MyGenericModel)


@appbuilder.app.errorhandler(404)
def page_not_found(e):
    return (
        render_template(
            "404.html", base_template=appbuilder.base_template, appbuilder=appbuilder
        ),
        404,
    )


db.create_all()

appbuilder.add_view(
        MyModelView,
        "My View",
        icon="fa-folder-open-o",
        category="My Category",
        category_icon='fa-envelope'
)

Заранее благодарим вас.

...