可能这是一个非常愚蠢的问题,但我正在研究的部分非常重要,所以我想检查两次)
引用来自Django 文档的关于with transaction.atomic():
原子性是数据库事务的定义属性。atomic 允许我们创建一个代码块,在其中保证数据库的原子性。如果代码块成功完成,更改将提交到数据库。如果出现异常,则回滚更改。我的猜测:下面的代码不会被执行,因为引发了一个常规的 python 异常,对吗?
例如:
def my_view(request):
with transaction.atomic():
# bunch of queries
api_call()
return JsonResponse('Done')
api_call()如果数据库异常发生在transaction.atomic()块内,是否有保证不会执行?大谢谢
隔江千里
相关分类