91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django中mysql使用事務以及批量插入數據

發布時間:2020-06-27 06:56:52 來源:網絡 閱讀:740 作者:LeslieLiang 欄目:編程語言

使用事務可以有效的防止插入數據時出現錯誤影響數據的完整性,再出現錯誤的時候可以回滾事務,做到要么全部插入成功要么全部都不插入

from django.views import View
from main import models
from django.db import transaction
import json

class BillTypeAdd(View):
    '''
    新增賬單類別api
    '''
    @transaction.atomic # 事務修飾器
    def post(self, request):
        status = False
        data = request.POST.get('data')

        # 用于事務保存
        savePoint = None

        try:
            data = json.loads(data)
            # 用于存儲實例對象
            BillTypeModels = []
            for item in data:
                item.pop('id')
                BillTypeModels.append(models.BillType(**item))

            savePoint = transaction.savepoint() # 事務保存點

            models.BillType.objects.bulk_create(BillTypeModels)

            status = True
        except Exception as error:
            if savePoint:
                # 回滾事務
                transaction.rollback(savePoint)
            status = error.__str__()

        return HttpResponse(status)    

幾處重點需要注意

  • 導包,from django.db import transaction
  • 事務的保存點,savePoint = transaction.savepoint()
  • 回滾事務,transaction.rollback(savePoint)
  • 批量插入,bulk_create。批量插入需要提供的數據為models的實例
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大名县| 南华县| 高阳县| 肃北| 浪卡子县| 大埔区| 浦北县| 南开区| 北京市| 大渡口区| 格尔木市| 龙山县| 海口市| 金湖县| 胶南市| 扬中市| 乃东县| 孝感市| 衡东县| 阳高县| 嵊泗县| 金沙县| 阿拉善盟| 莱芜市| SHOW| 建湖县| 隆德县| 华安县| 香河县| 濮阳县| 永丰县| 荆门市| 临武县| 腾冲县| 中西区| 三亚市| 弥勒县| 从江县| 桓台县| 金秀| 博湖县|