当begin_nested
用作上下文管理器时,例如
with db.session.begin_nested:
# do something
如果抛出IntegrityError
,会自动调用db.session.rollbank()
吗?相反,如果没有抛出异常,会自动调用db.session.commit()
吗?
答案 0 :(得分:8)
我找不到文档,但源代码似乎表明如果某个事务(例如来自begin_nested
的事务)用作上下文管理器,则事务在退出时提交,或者如果块中或提交期间出错。