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

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)

django批量插入,遇到错误改为逐条插入的更多相关文章

  1. Java使用JDBC连接数据库逐条插入数据、批量插入数据、以及通过SQL语句批量导入数据的效率对比

    测试用的示例java代码: package com.zifeiy.test.normal; import java.io.File; import java.io.FileOutputStream; ...

  2. Apache2.4部署django出现403 Forbidden错误解决办法

    前言:Apache2.4部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹 ...

  3. django 2.0 xadmin 错误集锦

    转载 django 2.0 xadmin 错误集锦 2018-03-26 10:39:18 Snail0Li 阅读数 5188更多 分类专栏: python   1.django2.0把from dj ...

  4. mybatis中批量插入的两种方式(高效插入)

    MyBatis简介 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用 ...

  5. django 分页出现 UnorderedObjectListWarning 错误

    django 分页出现此错误: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unorde ...

  6. 关于Django数据库mysql连接错误问题Connection to api@localhost failed. [08001] Could not create connection to d

    Connection to api@localhost failed. [08001] Could not create connection to d 错误类型 django连接mysql数据库错误 ...

  7. Django批量插入数据和分页器

    目录 一.ajax结合sweetalert实现删除按钮动态效果 二.bulk_create批量插入数据 1. 一条一条插入 2. 批量插入 三.自定义分页器 一.ajax结合sweetalert实现删 ...

  8. Django批量插入(自定义分页器)

    目录 一:批量插入 1.常规批量插入数据(时间长,效率低 不建议使用) 2.使用orm提供的bulk_create方法批量插入数据(效率高 减少操作时间) 3.总结 二:自定义分页器 1.自定义分页器 ...

  9. django插入数据库错误:mysql的1267错误

    错误信息: django.db.utils.OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci,IM ...

  10. Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

    create table my_user (    id tinyint(4) not null auto_increment,    account varchar(255) default nul ...

随机推荐

  1. VF01/VF11 创建和冲销开票凭证

    1.创建开票凭证 1.1.前台 VF01创建开票凭证 1.2.源代码 "--------------------@斌将军--------------------DATA:lt_billing ...

  2. 题解 [HDU6747] Rotate 期望 + 逆元

    来源:2020 年百度之星·程序设计大赛 - 初赛一 一个圈,从内到外一共被分成了 \(n\) 个环,中间是空的. 我们把从外到内第 \(i\) 层环平分成 \(a[i]\) 份,其中 \(a[i]\ ...

  3. SpringBoot 配置类解析

    本文首发于 vivo互联网技术 微信公众号链接:https://mp.weixin.qq.com/s/NvPO5-FWLiOlrsOf4wLaJA作者:Li Wanghong SpringBoot作为 ...

  4. java项目实战-mybatis-基本用法02接口绑定实现类-day23

    目录 1. 复习 什么是接口 什么是类? 2. mybatis接口绑定实现类 来实现查询 4. 参数的传递 5 插入数据 1. 复习 什么是接口 什么是类? public interface Spea ...

  5. Tmux | 常用操作存档

    (因为自己实在是太好忘了,所以在博客存档方便查找) 参考资料:Tmux 使用教程 | 阮一峰的网络日志 tmux new -s <session-name> <Ctrl+B D> ...

  6. 【PHP】 延时跳转

    echo "<meta http-equiv=\"refresh\" content=\"5;url="."register.php& ...

  7. Linux-定时任务-cron

  8. [转帖]CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9)

    CentOS-7-x86_64-Everything-2009 rpm包列表(CentOS7.9) 共10073个文件 复制389-ds-base-1.3.10.2-6.el7.x86_64.rpm ...

  9. [转帖] Linux命令拾遗-使用blktrace分析io情况

    https://www.cnblogs.com/codelogs/p/16060775.html 原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 一般来说,想检 ...

  10. ARM下KVM虚拟化的损耗验证--redis

    ARM下KVM虚拟化的损耗验证 摘要 看Windows 上面的 Workstation的虚拟机的 网络层的延迟特别高. 突然想之前统计都是直接在本地验证的, 只考虑了虚拟化CPU的性能损耗 没有考虑虚 ...