【发布时间】:2018-09-20 19:31:50
【问题描述】:
可能这是一个非常愚蠢的问题,但我正在处理的部分非常重要,所以我想检查两次)
来自Django documentation 的关于with transaction.atomic(): 的引述
原子性是数据库事务的定义属性。原子 允许我们创建一个代码块,其中的原子性 数据库有保障。如果代码块成功 完成后,更改将提交到数据库。如果有一个 异常,更改将回滚。 我的猜测:并且下面的代码不会被执行,因为引发了一个常规的 python 异常,对吧?
例如:
def my_view(request):
with transaction.atomic():
# bunch of queries
api_call()
return JsonResponse('Done')
如果transaction.atomic()块内发生数据库异常,是否保证api_call()不会被执行?大赞
【问题讨论】:
标签: python django database atomic