Django批量覆盖更新实现示例

 更新时间:2023年09月20日 11:16:48   作者:alue  
这篇文章主要为大家介绍了Django批量覆盖更新实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

批量处理用户上传的数据

利用bulk_create 方法能够批量处理用户上传的数据, 面对大量的上传数据时, 能够提升数据入库的速度.

这时候, 如果上传的数据存在问题, 该怎么处理呢?

例如, 数据存在唯一性约束. 但用户上传的数据, 存在重复项.

这时候,有三种方式.

  • 中断并回滚整个操作
  • 忽略错误项, 继续其它项目的写入
  • 覆盖原先数据.

前两种比较好实现.

psqlextra 插件实现

第三种,如果用的是PostgreSQL的话, 可以考虑用 psqlextra 插件来实现.

例如:

from psqlextra.manager import PostgresManager
class Record(models.Model):  
    student = models.ForeignKey(to=Person, on_delete=models.CASCADE, verbose_name='参考人')  
    date = models.DateField(verbose_name='考核时间')
    class Meta:  
        verbose_name = '考核成绩'  
        verbose_name_plural = verbose_name  
        unique_together = ("student", "date")
    objects = PostgresManager()

可以用下述方式, 实现批量覆盖更新:

from psqlextra.query import ConflictAction
Record.objects.on_conflict(
                           ['student', 'date'], ConflictAction.UPDATE
                           ).bulk_insert(
                           [
                           dict(student=1,date='2021-02-11'),
                           dict(student=2,date='2021-03-11'),
                           ]
                           )

以上就是Django批量覆盖更新实现示例的详细内容,更多关于Django批量覆盖更新的资料请关注脚本之家其它相关文章!

相关文章

  • python实现的AES双向对称加密解密与用法分析

    python实现的AES双向对称加密解密与用法分析

    这篇文章主要介绍了python实现的AES双向对称加密解密与用法,简单分析了AES加密解密算法的基本概念并结合实例形式给出了AES加密解密算法的相关实现技巧与使用注意事项,需要的朋友可以参考下
    2017-05-05
  • Python处理中文文件必看之解决utf-8解码错误的4种实战方法

    Python处理中文文件必看之解决utf-8解码错误的4种实战方法

    在使用Python处理包含中文字符的文本文件时,经常会遇到 UnicodeDecodeError: 'utf-8' codec can't decode byte 这类错误,下面我们就来看看具体解决方法吧
    2026-03-03
  • pytorch从csv加载自定义数据模板的操作

    pytorch从csv加载自定义数据模板的操作

    这篇文章主要介绍了pytorch从csv加载自定义数据模板的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python实现博客快速备份的脚本分享

    Python实现博客快速备份的脚本分享

    本文针对博客园实现了一个自动备份脚本,可以快速将自己的文章备份成Markdown格式的独立文件,备份后的md文件可以直接放入到hexo博客中,感兴趣的可以了解一下
    2022-09-09
  • Python使用XPath进行正则表达式匹配的实战指南

    Python使用XPath进行正则表达式匹配的实战指南

    在Web自动化测试和数据抓取中,我们经常遇到动态生成的HTML属性,传统XPath定位方式容易因这些变化而失效,下面我们就来看看Python中如何运用XPath正则匹配吧
    2026-04-04
  • Python如何查找特定名称文件

    Python如何查找特定名称文件

    这篇文章主要介绍了Python如何查找特定名称文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python的Tqdm模块实现进度条配置

    Python的Tqdm模块实现进度条配置

    这篇文章主要介绍了Python的Tqdm模块实现进度条配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python 操作 PowerPoint OLE 对象的实现

    Python 操作 PowerPoint OLE 对象的实现

    本文详细介绍如何使用Python在PowerPoint中嵌入、管理和操作OLE对象,包括嵌入Excel文件、ZIP压缩包等,并提取、修改已嵌入的OLE对象数据,通过这些技术,可以构建自动化工具处理包含多种类型数据的复杂演示文稿
    2026-05-05
  • Django 在iframe里跳转顶层url的例子

    Django 在iframe里跳转顶层url的例子

    今天小编就为大家分享一篇Django 在iframe里跳转顶层url的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 简单介绍python封装的基本知识

    简单介绍python封装的基本知识

    这篇文章主要介绍了简单介绍python封装的基本知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论