Python django交易不存在';t工作
我正在使用django(1.10)和django restframework(3.4.6) 我试图在我的代码上调整事务,但它不起作用 代码如下:Python django交易不存在';t工作,python,django,transactions,Python,Django,Transactions,我正在使用django(1.10)和django restframework(3.4.6) 我试图在我的代码上调整事务,但它不起作用 代码如下: class Home(View): def get(self, request): with transaction.atomic(): Episode.objects.filter(id=1).update(volume=12) if True: raise Exception('tes
class Home(View):
def get(self, request):
with transaction.atomic():
Episode.objects.filter(id=1).update(volume=12)
if True:
raise Exception('test exception')
Episode.objects.filter(id=2).update(volume=13)
return render(request, 'home/home.html')
我已经用decorator(@transaction.atomic)试过了,但它不太管用
我在设置中尝试了ATOMIC_REQUESTS=True,但它不太起作用
我不明白为什么这个代码不起作用。。。我错过了什么
此处的db设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dragon',
'USER': ...,
'PASSWORD': ...,
'HOST': ...,
'PORT': '3306',
'OPTIONS': {
'sql_mode': 'STRICT_TRANS_TABLES',
}
...
mysql数据库引擎是InnoDB
mysql tx_隔离:可重复读取你说的“它不工作”到底是什么意思?发生了什么,你期望发生什么?我期望这两集都会回滚,不会改变。但是第一幕的音量已经改变了,而且已经确定了。你说的“它不起作用”到底是什么意思?发生了什么,你期望发生什么?我期望这两集都会回滚,不会改变。但第1幕的音量已经改变,并承诺。