在应用程序中任何位置Flask的任何请求结束时,检查SQLAlchemy中是否存在“悬空”和未刷新的任何数据更改的有效自动/一般方法是什么?
换句话说,我希望捕获任何SQLAlchemy模型更改,这些更改只是在请求结束时“扫地”,因为这表明编程中的错误被特定请求结束的事实所隐藏(并且会话会破坏所有未提交的未刷新的更改。)
当请求结束时,Flask-Sqlalchemy会自动销毁会话:http://flask.pocoo.org/docs/0.10/patterns/sqlalchemy/;我认为这涉及“到期”所有未完成的更改:http://docs.sqlalchemy.org/en/latest/orm/session_api.html#sqlalchemy.orm.session.Session.expire
(我之所以想到这个问题的原因是我暂时将autoflush设置为ON,突然在API端点上我看到一些我不知道的模型更改,并且在后续查询时被意外刷新运行相同的API端点!)