Я хочу отменить транзакцию, когда открывается представление Exception.Django Transaction не работает
Я стараюсь следовать шаг на Django Doc
Но, кажется, что это не работает.
Вот мой код:
models.py
class Cargo(models.Model):
serial_number = models.CharField()
name = models.CharField()
views.py
из django.http импорта JsonResponse из .models импортных грузов
def test(request):
cargo = Cargo(serial_number='123456', name='cargo')
cargo.save()
raise Exception()
return JsonResponse({'message': 'ok'})
Я включил свой ATOMIC_REQUESTS
в моих settings.py.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'TABLE',
'USER': 'USER',
'PASSWORD': 'PASSWORD',
'HOST': '127.0.0.1',
'PORT': '1234',
'ATOMIC_REQUESTS': True,
}
}
Но каждый раз, когда я посетить test
вид, это поднять исключение и еще добавить строку «груз» в моем дб.
Я хочу знать, как включить транзакцию Django.
Спасибо!
И еще один вопрос, если я использую atomic
descriped в Doc, как:
views.py
from django.http import JsonResponse
from django.db import transaction
from .models import Cargo
@transaction.atomic
def test(request):
cargo = Cargo(serial_number='123456', name='cargo')
cargo.save()
raise Exception()
return JsonResponse({'message': 'ok'})
является 'ATOMIC_REQUESTS': True
еще необходимо.
О, спасибо, я дал понять это сейчас. – Nutto