亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

榆树市| 正蓝旗| 内丘县| 蛟河市| 三门峡市| 邹城市| 托克逊县| 酒泉市| 呼图壁县| 邯郸市| 筠连县| 江永县| 永康市| 庄河市| 宁强县| 通许县| 卢龙县| 项城市| 疏勒县| 太仆寺旗| 庆云县| 屏东县| 库尔勒市| 西乌珠穆沁旗| 资溪县| 昔阳县| 临桂县| 克什克腾旗| 承德县| 洛南县| 翼城县| 江北区| 崇仁县| 准格尔旗| 江城| 资中县| 嘉鱼县| 信丰县| 南澳县| 河西区| 苍山县|