最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django 事務transaction.atomic()的使用方法

 更新時間:2025年12月08日 09:46:48   作者:宥鈞  
本文主要介紹了Django 事務transaction.atomic()的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

導入需要使用的包

from django.shortcuts import render
from django.http import HttpResponse
from django.views import View
from django.db import transaction   # 導入事務

一.類視圖 (整個函數(shù)使用事務,@transaction.atomic裝飾器)

class MyView(View):
 
    @transaction.atomic
    # transaction.atomic裝飾器可以保證該函數(shù)中所有的數(shù)據(jù)庫操作都在一個事務中。
    def post(self, request):
 
        # 數(shù)據(jù)庫操作1。。。
        # 數(shù)據(jù)庫操作2。。。
        
        return HttpResponse('ok')

二.類視圖 (函數(shù)體事務,保存點的使用)

class MyView2(View):
    @transaction.atomic
    def post(self, request):
 
        # 設置事務保存點
        s1 = transaction.savepoint()   # 可以設置多個保存點
 
        # 數(shù)據(jù)庫操作。。。
 
        # 事務回滾 (如果發(fā)生異常,就回滾事務)
        transaction.savepoint_rollback(s1)  # 可以回滾到指定的保存點
 
        # 提交事務 (如果沒有異常,就提交事務)
        transaction.savepoint_commit(s1)
 
        # 返回應答
        return HttpResponse('ok')

三.函數(shù)體中使用

def func(request):
    with transaction.atomic():
        sid = transaction.savepoint()
        try:
            serializer.is_valid(raise_exception=True)
            comment = serializer.save()
            handle_obj_files(comment, request)
            visitor_order.epilogue.add(comment)
            visitor_order.status = 'complete'
            visitor_order.save()
        except Exception as e:
            transaction.savepoint_rollback(sid)
            return api_bad_request(str(e))
        else:
            transaction.savepoint_commit(sid)
        data = VisitorOrderRetrieveSerializer(visitor_order).data
        return api_success(data=data)

此方法和方法二類似

到此這篇關于Django 事務transaction.atomic()的使用方法的文章就介紹到這了,更多相關Django 事務transaction.atomic()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python報錯TypeError: ‘xxx’ object is not subscriptable

    Python報錯TypeError: ‘xxx’ object is not&n

    本文主要介紹了Python報錯TypeError: ‘xxx’ object is not subscriptable,下面就來介紹一下該問題的解決,具有一定的參考價值,感興趣的可以了解一下
    2025-05-05
  • Python 含參構造函數(shù)實例詳解

    Python 含參構造函數(shù)實例詳解

    這篇文章主要介紹了Python 含參構造函數(shù)實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • python 實現(xiàn)添加標簽&打標簽的操作

    python 實現(xiàn)添加標簽&打標簽的操作

    這篇文章主要介紹了python 實現(xiàn)添加標簽&打標簽的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python實現(xiàn)樹形打印目錄結構

    python實現(xiàn)樹形打印目錄結構

    這篇文章主要為大家詳細介紹了python樹形打印目錄結構的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 解決Pytorch中的神坑:關于model.eval的問題

    解決Pytorch中的神坑:關于model.eval的問題

    這篇文章主要介紹了解決Pytorch中的神坑:關于model.eval的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 在Python反編譯中批量pyc轉?py的實現(xiàn)代碼

    在Python反編譯中批量pyc轉?py的實現(xiàn)代碼

    這篇文章主要介紹了在Python反編譯中批量pyc轉?py的實現(xiàn)代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Python爬取個人微信朋友信息操作示例

    Python爬取個人微信朋友信息操作示例

    這篇文章主要介紹了Python爬取個人微信朋友信息操作,涉及Python使用itchat包實現(xiàn)微信朋友信息爬取操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • Django用戶身份驗證完成示例代碼

    Django用戶身份驗證完成示例代碼

    這篇文章主要介紹了Django用戶身份驗證完成示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python+Turtle繪制可愛的可達鴨

    Python+Turtle繪制可愛的可達鴨

    一年一度的六一兒童節(jié)又來了,祝大朋友小朋友節(jié)日快樂!本文主要介紹如何運用Python中的turtle庫控制函數(shù)繪制可達鴨,希望你會喜歡
    2022-05-05
  • Django項目打包完整步驟以及可能出現(xiàn)的問題

    Django項目打包完整步驟以及可能出現(xiàn)的問題

    django項目的結構大體上都是類似,打包主要的功能就是把一些不需要部署的文件剔除,把需要部署的文件直接壓縮打包,下面這篇文章主要給大家介紹了關于Django項目打包完整步驟以及可能出現(xiàn)問題的相關資料,需要的朋友可以參考下
    2023-06-06

最新評論

青川县| 河东区| 青阳县| 贺兰县| 梓潼县| 镇雄县| 岐山县| 自贡市| 沙湾县| 隆安县| 东阳市| 渝中区| 榕江县| 武宣县| 军事| 泰和县| 延庆县| 沁源县| 吉林省| 鄂托克旗| 双柏县| 崇文区| 万安县| 维西| 隆子县| 绥棱县| 革吉县| 全南县| 元氏县| 南木林县| 双流县| 清水河县| 历史| 伽师县| 杭州市| 丹江口市| 赤水市| 房产| 福安市| 偃师市| 亳州市|