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

Django關(guān)于事務(wù)transaction.atomic()的使用方式

 更新時(shí)間:2023年08月24日 09:43:17   作者:天下·第二  
這篇文章主要介紹了Django關(guān)于事務(wù)transaction.atomic()的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Django事務(wù)transaction.atomic()使用

導(dǎo)入需要使用的包

from django.shortcuts import render
from django.http import HttpResponse
from django.views import View
from django.db import transaction   # 導(dǎo)入事務(wù)

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

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

類視圖 (函數(shù)體事務(wù),保存點(diǎn)的使用)

class MyView2(View):
    @transaction.atomic
    def post(self, request):
        # 設(shè)置事務(wù)保存點(diǎn)
        s1 = transaction.savepoint()   # 可以設(shè)置多個(gè)保存點(diǎn)
        # 數(shù)據(jù)庫操作。。。
        # 事務(wù)回滾 (如果發(fā)生異常,就回滾事務(wù))
        transaction.savepoint_rollback(s1)  # 可以回滾到指定的保存點(diǎn)
        # 提交事務(wù) (如果沒有異常,就提交事務(wù))
        transaction.savepoint_commit(s1)
        # 返回應(yīng)答
        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)

此方法和方法二類似

為什么需要with transaction.atomic()

django的事務(wù)回滾操作

1.為什么需要事務(wù)回滾操作?

2.SQL事務(wù)是什么?

3. 數(shù)據(jù)會安全

4. django為什么需要with transaction.atomic()?

            with transaction.atomic():
                issue_field = After.objects.get(id=issue_field_id)
                issue_field.is_abandoned = True
                issue_field.save()
                # if set is_abandoned to True, set all field value with this field is_abandoned to True
                all_issue_field_value = AfterSales.objects.update().filter(field=issue_id)
                for issue= in all_issue:
                    issue.is_abandoned = True
                    issue.save()

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一行代碼挖掘文化瑰寶,Python解鎖古詩文世界

    一行代碼挖掘文化瑰寶,Python解鎖古詩文世界

    想要從文字海洋中捕獲珍珠般的古詩文嗎?通過Python爬取古詩文網(wǎng),你將掌握直搗黃龍的技能,簡單幾步,讓經(jīng)典文學(xué)盡收囊中,為你的項(xiàng)目增添靈氣,需要的朋友可以參考下
    2024-03-03
  • 幾種查看PyTorch、cuda 和 Python 版本方法小結(jié)

    幾種查看PyTorch、cuda 和 Python 版本方法小結(jié)

    本文主要介紹了幾種查看PyTorch、cuda 和 Python 版本方法小結(jié),除了直接使用?torch.__version__?和?sys.version,我們還可以通過其他方式實(shí)現(xiàn)相同的功能,下面就一起來了解一下
    2025-04-04
  • 利用python抓取HTML頁面數(shù)據(jù)并作可視化數(shù)據(jù)分析

    利用python抓取HTML頁面數(shù)據(jù)并作可視化數(shù)據(jù)分析

    這篇文章主要為大家詳細(xì)介紹了如何利用python抓取HTML頁面數(shù)據(jù)并作可視化數(shù)據(jù)分析,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2025-04-04
  • 基于Python?wxPython開發(fā)文件管理工具

    基于Python?wxPython開發(fā)文件管理工具

    這篇文章主要為大家詳細(xì)介紹了如何基于wxPython開發(fā)一個(gè)文件管理工具,該工具提供了多種實(shí)用功能,代碼結(jié)構(gòu)清晰,易于理解和擴(kuò)展,需要的可以了解下
    2025-02-02
  • Python綁定及其在Mujoco仿真器中的使用詳解

    Python綁定及其在Mujoco仿真器中的使用詳解

    Python綁定是連接Python與C/C++的橋梁,使開發(fā)者能高效調(diào)用MuJoCo的高性能功能,它控制仿真流程、訪問狀態(tài)數(shù)據(jù)、集成Python生態(tài)(如NumPy、RL框架),并支持快速原型設(shè)計(jì),實(shí)現(xiàn)底層速度與上層便利性的結(jié)合
    2025-07-07
  • Python實(shí)現(xiàn)一鍵生成自解壓源碼文件并打包項(xiàng)目

    Python實(shí)現(xiàn)一鍵生成自解壓源碼文件并打包項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了一個(gè)Python自解壓源碼方案,可將項(xiàng)目源碼打包成單個(gè).py文件,方便分發(fā)和存檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-01-01
  • python中的函數(shù)嵌套和嵌套調(diào)用

    python中的函數(shù)嵌套和嵌套調(diào)用

    這篇文章主要介紹了python中的函數(shù)嵌套和嵌套調(diào)用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python Pandas處理時(shí)間序列的三大核心工具詳解

    Python Pandas處理時(shí)間序列的三大核心工具詳解

    時(shí)間序列數(shù)據(jù)是物聯(lián)網(wǎng)、金融、氣象等領(lǐng)域的核心資產(chǎn),Pandas庫為時(shí)間序列分析提供了三大核心工具,本文將通過真實(shí)場景案例,展示如何用三行代碼解決復(fù)雜的時(shí)間序列問題,感興趣的小伙伴可以了解下
    2026-01-01
  • 淺談圖像處理中掩膜(mask)的意義

    淺談圖像處理中掩膜(mask)的意義

    今天小編就為大家分享一篇淺談圖像處理中掩膜(mask)的意義,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 利用Python實(shí)現(xiàn)批量轉(zhuǎn)換圖片格式

    利用Python實(shí)現(xiàn)批量轉(zhuǎn)換圖片格式

    本文重點(diǎn)介紹普通圖片格式怎么相互轉(zhuǎn)換,如jpg格式圖片怎么批量轉(zhuǎn)化為png格式,在深度學(xué)習(xí)項(xiàng)目中,有時(shí)我們收集到的數(shù)據(jù)集圖片格式不統(tǒng)一,有的代碼支持多種格式圖片輸入,有的則只支持個(gè)別格式,所以這時(shí),我們需要通過腳本來轉(zhuǎn)換圖片格式,不說廢話,直接上代碼
    2025-08-08

最新評論

九龙县| 柯坪县| 宜丰县| 大渡口区| 延庆县| 鄂尔多斯市| 济宁市| 哈密市| 利川市| 黄梅县| 钦州市| 静宁县| 绥滨县| 容城县| 白朗县| 沾化县| 云龙县| 阜康市| 滨海县| 衡阳县| 长宁区| 堆龙德庆县| 项城市| 西青区| 福建省| 晋江市| 老河口市| 通河县| 宣威市| 龙口市| 宝应县| 昌平区| 福贡县| 平果县| 双柏县| 千阳县| 宁武县| 阿克陶县| 永仁县| 固原市| 姜堰市|