Lar*_*ara 35 django transactions nested atomic
我想知道我是否有这样的事情:
def functionA():
with transaction.atomic():
#save something
functionB()
def functionB():
with transaction.atomic():
#save another thing
Run Code Online (Sandbox Code Playgroud)
有人知道会发生什么吗?如果functionB失败,functionA也会回滚吗?
谢谢!
Kev*_*nry 36
是的,它会的.无论嵌套如何,如果异常退出原子块,它将回滚:
如果代码块成功完成,则更改将提交到数据库.如果存在异常,则回滚更改.
另请注意,外部块中的异常将导致内部块回滚,并且可以捕获内部块中的异常以防止外部块回滚.该文档解决了这些问题.(或者在这里查看有关嵌套事务的更全面的后续问题).
归档时间: |
|
查看次数: |
10895 次 |
最近记录: |