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)
相关推荐
Rsun04551几秒前
17、Java 责任链模式从入门到实战
java·python·责任链模式
m0_747854521 分钟前
Go语言如何做图算法_Go语言图算法实现教程【对比】
jvm·数据库·python
傻啦嘿哟6 分钟前
使用 Python 管理 Word 节及页面布局设置
开发语言·python·word
Ares-Wang6 分钟前
flask》》Blueprint 蓝图
后端·python·flask
梦因you而美9 分钟前
Python批量读取Word表格(全格式兼容:上下标+公式+字体样式)
python·自动化·word·办公自动化·提取word表格·omml格式
m0_377618239 分钟前
SQL如何解决GROUP BY导致查询变慢_利用覆盖索引进行优化
jvm·数据库·python
XGeFei10 分钟前
__init__ 初始化方法
开发语言·python
java1234_小锋10 分钟前
LangChain4j快速入门
人工智能·python·spring
qq_3345635511 分钟前
如何提高SQL存储过程可维护性_解耦复杂业务逻辑
jvm·数据库·python
2301_7775993711 分钟前
Golang map底层实现原理_Golang map哈希表原理教程【收藏】
jvm·数据库·python