https://yiyibooks.cn/xx/Django_1.11.6/topics/db/transactions.html#autocommit-details
from django.db import transaction
@transaction.atomic
def add_book(request):
sid = transaction.savepoint()
try:
Book.objects.filter(pk=1).exclude(title="tt").update(publish_id=3, guige_id=1)
t = Book.objects.filter(pk=1).exclude(title__in=["tt", "ttt"]).update(publish_id=3, guige_id=1)
if t == 0:
# 两次数据库操作均回滚
transaction.savepoint_rollback(sid)
return HttpResponse("ok1")
return HttpResponse("ok2")
except Exception as e:
print(e)
# 两次数据库操作均回滚
transaction.savepoint_rollback(sid)
return HttpResponse("ok3")