django批量插入,遇到错误改为逐条插入

为了提升插入数据的效率,通常采用批量插入的方式,当一批数据中有错误数据时,该批次数据报错,都插入失败。如何跳过引起报错的数据,将其他正确的数据插入,实现方式如下代码。

复制代码
data_to_insert = []
for i, data in  datas:
    testDemo = TestDemo()
    testDemo.ID = data[i].id
    testDemo.NAME = data[i].name
    data_to_insert.append(testDemo)

    if (i + 1) % 1000 == 0:
        try:
            TestDemo.objects.bulk_create(data_to_insert, batch_size=1000)
        except Exception as e:
            # 处理批次插入错误,逐个插入并跳过异常数据
            print("批次插入数据时出现错误:", e)
            for item in data_to_insert:
                try:
                    item.save()
                except Exception as e:
                    # 处理逐条插入错误,可以打印错误信息或进行其他操作
                    print("逐条插入数据时出现错误:", e)
        data_to_insert.clear()

# 处理最后可能剩余的数据
try:
    TestDemo.objects.bulk_create(data_to_insert, batch_size=1000)
except Exception as e:
    # 处理批次插入错误,逐个插入并跳过异常数据
    print("批次插入数据时出现错误:", e)
    for item in data_to_insert:
        try:
            item.save()
        except Exception as e:
            # 处理逐条插入错误,可以打印错误信息或进行其他操作
            print("逐条插入数据时出现错误:", e)
相关推荐
问天_观心35 分钟前
零基础在windows环境下的WSL使用llamafactory(一)
人工智能·windows·python·神经网络·语言模型·github·模型蒸馏
今天你AiPy了吗1 小时前
AI桌面助手的隐私底线 数据可落本地不出域,还能一键切换云端,全能智能体
人工智能·python·ai·ai编程·智能体
2601_956319881 小时前
近期手工规则转量化:按学习、表达、开发、验证推进
人工智能·python
青 春 记 忆1 小时前
LeetCode 104. 二叉树的最大深度|Python 解法详解
python·算法·leetcode
码云骑士1 小时前
110-多模型热切换-API网关-LiteLLM代理-负载均衡故障转移
运维·python·负载均衡
Ali885202 小时前
Python字符串方法速查表大全
前端·python
开源量化GO2 小时前
近期量化实现:API 数据、策略逻辑和交易执行要连成一条线
人工智能·python
小柯南敲键盘2 小时前
跨马翻译:跨境电商批量图片翻译与视频字幕工具推荐
人工智能·python·音视频
李可以量化2 小时前
Redis 从了解到精通(一・上):量化开发必学的三大基础数据类型
python
you鬰2 小时前
datawhale--llm-algo-leetcode0️⃣
python