我有一些新创建的对象。我想知道如何检查当前会话是否有该对象?
类似于这样:
user = User(...)
....
db.session.add(user)
...
if db.session.has_object(user):
<process further>
这种情况是否可能发生?
另外,我想为我的Flask实例创建一个after_request函数,这样就不必担心提交问题,只需检查db.session是否准备好提交。如果是,则执行db.session.commit()。
类似于这样:
@app.after_request
def after_request(response):
if db.session.is_ready():
db.session.commit()
autocommit=True
即可(文档在这里)。如果你正在使用Flask-SQLAlchemy,则是db = SQLAlchemy(session_options={'autocommit': True})
。如果你想在请求级别上实现自动提交,例如仅在请求结束后、而不是在请求期间进行提交,且仅在必要时才提交——我想你可以检查 会话状态,然后从中判断。 - Doobeh