在数据库配置中,如果配置了此属性为True,如下:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.xxx', 'NAME': '', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', 'ATOMIC_REQUESTS': True, } }
则,统一个http请求对应的所有sql都放在一个事务中执行(要么所有都成功,要么所有都失败)。
是全局性的配置, 如果要对某个http请求放水(然后自定义事务),可以用non_atomic_requests修饰器
from django.db import transaction class xxx(xxxView): @transaction.non_atomic_requests def post(self, request, *args, **kwargs): ...