python – 当SQLAlchemy上的session.flush()失败时,我应该调用rollback吗?

前端之家收集整理的这篇文章主要介绍了python – 当SQLAlchemy上的session.flush()失败时,我应该调用rollback吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道当session.commit()失败时调用回滚,例如try-except块.
但是当session.flush()失败时,我应该执行rollback()吗?

try:
    session.flush()
except IntegrityError:
    session.rollback()
最佳答案
总是回滚失败的刷新,您不需要自己执行:

http://docs.sqlalchemy.org/en/latest/orm/session_api.html#sqlalchemy.orm.session.Session.flush

数据库操作将在当前事务上下文中发出,并且不会影响事务的状态,除非发生错误,在这种情况下将回滚整个事务.您可以在事务中随意刷新()以将更改从Python移动到数据库的事务缓冲区.

猜你在找的Python相关文章