django transaction用法


from django.db import transaction
from django.http import HttpResponse
from django.utils.decorators import method_decorator


# 類中添加裝飾器,保證在該類中所有的數據庫操作都在一個事物中
@method_decorator(transaction.atomic, name='dispatch')
class MyView1(object):

def get(self, request):
return HttpResponse('GET')

def post(self, request):
return HttpResponse('POST')


class MyView2(object):

# 保證在該函數中所有的數據庫操作都在一個事物中
@transaction.atomic
def post(self, request):

# 設置事物保存點(可設多個)
t1 = transaction.savepoint()

# 如果有異常情況可回滾到指定的保存點
transaction.savepoint_rollback(t1)

# 如果沒有異常可提交事物
transaction.savepoint_commit(t1)
return HttpResponse('POST')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM