Cho*_*key 9 python session sqlalchemy flask
我很好奇是否有办法显示当前会话中的内容?
或者也许是一种检查会话是否为空的方法,以便我可以执行类似下面的操作.
if db.session:
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
这样,只有在会话中的某些内容等待提交时才会提交.
Yar*_*min 17
检查会话状态有以下属性:
Session.new - 对象,将添加到数据库中.Session.dirty - 对象,将更新.Session.deleted - 对象,将从数据库中删除.这三个属性可用于检查会话状态:
if not db.session.new and not db.session.dirty and not db.session.deleted:
# do smth
Run Code Online (Sandbox Code Playgroud)
但是,session.commit()即使会话中没有任何更改,也可以安全地进行呼叫.如果您没有做一些特殊的事情,则不需要在提交之前显式检查会话状态.
还有一个名为的私有方法Session._is_clean(),用于检查是否有任何更改要刷新到数据库.它的实现方式如下:
def _is_clean(self):
return not self.identity_map.check_modified() and \
not self._deleted and \
not self._new
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5240 次 |
| 最近记录: |