django ORM 用bulk_create和bulk_update
一、为什么要用bulk_create和bulk_update
以创建1万个对象为例,相比save() 循环和save() 事务,bulk_效率是save()循环保存的百倍,是事务处理的近10倍:
创建model(MyModel),此处省略
用for循环挨个创建,共花费36秒
for i in range(10000):
name=f"{i} "
MyModel.objects.create(name=name)
用django事务只提交一次,共花费2.60秒
@transaction.commit_manually
for i in range(10000):
name=f"{i} "
MyModel.objects.create(name=name)
transaction.commit()
用bulk_create创建,共花费0.41秒
insert_list =[]
for i in range(10000):
name=f"{i} "
insert_list.append(MyModel(name=name))
MyModel.objects.bulk_create(insert_list)
bulk_update 效率对比与上面类似,此处省略
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
二、bulk_create批量创建
用法:
queryset_list = [] # 创建列表,用与承载批量更新的对象数据
for goods_data in goods_list: # 用for循环遍历需要创建的数据列表,注:这里默认为列表内元素goods_data 是字典格式
queryset_list.append(MyModel(**goods_data)) # 把创建元素添加到列表
MyModel.objects.bulk_create(queryset_list) # 批量创建
1
2
3
4
三、bulk_update批量更新
用法:
queryset = MyModel.objects.filter(is_delete=False) # 创建对象,model 中有字段 ‘goods_id’ 、'buy_num '、‘kill_num’
sec_kill_num = [] # 创建列表,用与承载批量更新的对象数据
使用for循环,这里循环的是查询条件,如果不需要循环查询条件那么直接循环上面的queryset就可以省略下面的.first()步骤
for _id in goods_id_list: # goods_id_list 是无数查询 条件的列表,这里使用的 商品的id
_obj = queryset .filter(goods_id=_id).first() # 很重要!!!,必须先获得一条唯一的数据
if _obj: # 很重要!!! 判断这条数据是否存在
_obj.buy_num += 1 # 修改字段数据
_obj.kill_num -= 1 # 修改字段数据
sec_kill_num.append(_obj) # 把修改数据后的对象添加到列表
sec_kill_info.bulk_update(sec_kill_num, [‘buy_num’, ‘kill_num’]) # 批量更新
————————————————
版权声明:本文为CSDN博主「qd-hhkj」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wuwei_201/article/details/127935064
相关文章:
django ORM 用bulk_create和bulk_update
一、为什么要用bulk_create和bulk_update 以创建1万个对象为例,相比save() 循环和save() 事务,bulk_效率是save()循环保存的百倍,是事务处理的近10倍: 创建model(MyModel),此处省略 用for循环…...
利用adsl拨号服务器VPS构建代理IP池
一、工具准备 动态vps: 我用的是云立方的动态vps,0.5G内存,11G硬盘,20G宽带,一年1800元,动态vps主要是运行代理服务,比较耗宽带,通过拨号来更换IP,实现动态代理的效果固定IP服务器&…...
日志系统代码
日志器代码 log.h #ifndef __SYLAR_LOG_H__ #define __SYLAR_LOG_H__ #include "singletojn.h" #include "util.h" #include <cstdarg> #include <sched.h> #include <string> #include <stdint.h> #include <memory> #in…...
ZBLOG蓝色响应式企业网站主题1号模板
主题特点: 简洁蓝色响应式风格,代码非常简洁zblog企业主题。 适用网站: 适合产品展示类企业网站! 模板说明: 首页模板、产品分类模板、产品内页模板、新闻内页模板、新闻列表模板、单页模板、标签模板 SEO设置: …...
雷军和董明珠的10亿赌局 什么来历
扩展资料 赌局背景 1、在2012年的第十三届中国经济年度人物颁奖盛典上,万达集团董事长王健林与阿里集团创始人马云曾有一赌:“到2020年,如果电商在中国零售市场份额占到50%,我给马云一个亿。如果没到,他还我一个亿。…...
NOD32反病毒系统升级
www.baidu.com 搜索 NOD32 2.x 初次升级需要:以下是网上找的 1. 请到(http://www.skycn.com/soft/40573.html)下载离线更新包。由于迅雷会搜寻网络镜像,使用迅雷下载无法保证资源的可靠性、及时性,因此请勿使用迅雷…...
VC6编译wxWINDOWS-2.4.0-编译EDISON源码
由于妹纸是做图像分割的,需要编译EDISON源码。折腾了一天 EDISON是03年的软件,用wxWINDOWS-2.4.0编译比较好, EDISON源码http://coewww.rutgers.edu/riul/research/code/EDISON/index.html wxWINDOWS-2.4.0 https://sourceforge.net/proje…...
[.NET逆向] 【.NET】UnpackMe!Shielden+DNGuard,双层变异壳 - 脱壳详解 [复制链接]
http://www.52pojie.cn/thread-439154-1-1.html?t1451911355271 前言:自从脱壳神器de4dot横空出世以来,我们可以看到几乎所有的.net破文中的第一部分就是不管三七二十一把程序丢进去脱壳以及反混淆。可是你真的明白de4dot背后做了些什么吗?…...
redis安全学习笔记
redis安全学习笔记 [toc] 文章部分内容首发于xray社区公众号 基础 https://www.runoob.com/redis/redis-tutorial.html 环境 : ubuntu 安装redis $sudo apt-get update $sudo apt-get install redis-server $service redis-server start $redis-cliredis连接命令…...
5.1开放----值得注册的网站推荐
1.远景论坛 地址: http://www.vistafans.com 说明:Windows Vista主题论坛和资源美化 今日: 5655, 昨日: 12397, 最高日: 23948 精华区 主题: 246157, 帖子: 5453372, 会员: 562365,欢迎新会员 2.绅博论坛 地址: http://bbs.hypost.cn 说…...
绘制户型图
...
淘宝卖家承担运费怎么承担?什么情况卖家承担?
在淘宝购物还是非常方便的,如果买到的东西不合心意,还可以申请退货。不过,在退货的时候,买卖双方会涉及到一个退货的运费问题,那么,卖家一般怎么承担这个退货的运费呢? 如果卖家和你都没有选择购买运费险…...
Universal USB Installer集开源软件之佳作
有机会下载一份uui的源代码,翻看了一下,呵呵,有意思,几乎是一个开源软件的大杂烩,忽然,恍然大悟,原来,作者才是开源软件精神的代言人,不重复制造轮子的践行者啊。 uui网址…...
【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现
【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现 提示:最近开始在三维深度学习方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【三维视觉】【深度学习】ubuntu18.04下PointNet官方代码Pytorch实现前言一、数据集说明1.CloudC…...
面向考研的数据结构板子
数据结构板子 考研复习对着书看了一遍数据结构之后总觉得缺了点什么,正好以前打比赛的板子也找不到了,就在这写一点数据结构的基础板子找找手感,举的例子也都是一些简单题,希望能对复习有所帮助。我在写板子的时候尽量附上了可供…...
【程序员侠】李飞往事之爱情故事
程序员侠李飞是一名技术精湛的程序员,他在IT行业有着极高的声誉。但在别人眼中,他却是一个有些木讷的人,平时除了工作几乎没有什么社交活动。 然而,一天,李飞在小区广场偶然遇见了一个跳广场舞的小美。小美是一个热情…...
2024年PhpStudy下载安装使用教程,图文教程(超详细)_phpstudy安装,每个程序员都必须掌握的8种数据结构
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。 需要这份系统化资料的朋友,可以戳这里获取 一个人可以走的很快,但一群人才能走的更远…...
常见端口详解及攻击策略
0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口 连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。 1 tcpmux 这显示有人在寻找SG…...
红黑树删除详细图解,巨详细
目录 写在前面删除的概念情况1删除的节点是叶子节点情况1.1叶子节点是红色情况1.2叶子节点是黑色**以下情况按我写出的顺序进行处理 有优先级的**情况1.2.1兄黑,右红侄情况1.2.2兄黑,左红侄情况1.2.3兄黑,双黑侄情况1.2.4 兄红 情况2删除的节…...
EasyRecovery数据恢复软件2024年我用过最好用的数据恢复工具
EasyRecovery数据恢复软件,是我用过最好用的数据恢复工具。无论是因为误删文件、格式化硬盘还是其他各种原因导致数据丢失,这款软件都能轻松帮你找回。 让我来介绍一下EasyRecovery的功能。它支持从各种存储介质中恢复数据,包括硬盘、固态硬盘…...
网络安全 微软AntiSpyware beta1
软件名称 Microsoft AntiSpyware 版本 beta1 软件介绍 Microsoft AntiSpyware是微软公司出品的一个反间谍软件的产品,它能帮你检测和清除windows系统里面的间谍软件和广告软件以及其他具潜在危险性的软件,使windows用户免受此类软件的威胁。 下载&#x…...
18.Sobel算子
1.主要内容 (1)卷积应用-图像边缘提取 (2)sobel经典算法与opencv提供的sobel算法 (3)当一些API不能满足自己的需求时,如何去自己完成一些计算 2.卷积应用——图像边缘提取 (1) 边缘是什么-是像素值发生跃迁的地方,是图像的显…...
【2】迈德威视工业相机USB接口ROS程序 — 图片topic发布、硬件触发、GPS时间同步、图片保存、曝光时间获取等功能
一、相机连接 去其官网 二、相机驱动程序 1、程序下载连接 https://www.aliyundrive.com/s/usGLB5NLnZe 2、程序运行 mkdir MVSDK_camera_ROS // 新建文件夹 MVSDK_camera_ROScd MVSDK_camera_ROS // 进入文件夹mkdir src …...
一个很简单很简单的静态网页(附源代码)HTML+CSS
【完整资源包下载】包含图片、音效等 如果想白嫖可以私信或者发邮件fzx2003zhixue163.com(回复时间可能比较长……但是看到的话都会回复的~) 首先声明:代码中使用的爱心特效和转动的音符这个两个效果是我从网上找到的…具体在哪里找的我也忘…...
vue-13 经典实战项目——TodoMVC
TodoMVC 是一个非常经典的案例,功能非常丰富,并且针对多种不同技术分别都开发了此项目,比如 React、AngularJS、JQuery等等。 TodoMVC 案例官网:https://todomvc.com/examples/vue/ 在官网首页右下角, 有 案例的模板下载 和 开发规范(需求文档),如下图: 数据列表渲染…...
基于DDD的微服务设计和开发实战
目录 基于DDD的微服务设计和开发实战 1 目标 2 适用范围 3 DDD 分层架构视图 展现层 应用层 领域层 基础层 4 服务视图 微服务内的服务视图 1、接口服务 2、应用服务 3、领域服务 4、基础服务 微服务外的服务视图 1. 前端应用与微服务 2. 微服务…...
阳光牧场外挂的主要编写思路介绍
终于有点时间写这样一些文字,来介绍我前些时间写的搜狐阳光牧场外挂。其实这样的一个外挂没有什么高深的技术,只需要使用2个辅助工具和1门你熟悉的编程语言就OK了。废话不多说,我就开门见山直接介绍了。你需要准备2个工具:HttpWat…...
2024年最全在线查询默认密码网站--分享_hawel-lutuo默认密码(1),分析网络安全未来几年的发展前景
给大家的福利 零基础入门 对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。 同时每个成长路线对应的板块都有配套的视频提供: 因篇幅有限&#…...
Render RenderContents RenderControl 三个方法的区别(转)
控件生命周期的Render阶段, 主要将控件标记和字符文本输出到 服务器控件输出流 中. 可以直接写Html标记, 也可以调用每个控件都有的RenderControl方法到输出流. 在WebControl基类中, 以Render开头的呈现方法有如下几个: RenderControl(HtmlTextWriter writer) Render(HtmlTex…...
服务器开发之极验证
简介 极验证与以往传统验证码不同的是,极验通过分析用户完成拼图过程中的行为特征,通过数据分析来判断是人还是机器。用户不必面对眼花缭乱的英文字符或汉字,整个验证过程变的像游戏一样有趣。 demo讲解 java版demo地址:https://g…...
星梦缘陈彦妃_陈彦妃V张睿家:谁收谁的爱
1984年出生,身高170cM,水瓶座女生,在《星梦缘》里扮演林思彤出道,因演技娴熟,受到陈铭章等电视导演青睐,在电视剧《爱的创可贴》中本色出演“创可贴女孩”。喜欢成熟、帅气的男生。 追梦女孩爱上表演 2002年…...
Wamp5 配置PHP 图文详解(转)
Wamp5论坛配置图文版 知识扫盲: 1、WampSever指的是apache mySQL PHP三合一套装,第一字母W,是指用于windows系统,我用的是2.0f版。用于Linux系统的,是LampSever,第一字母是L。 下载地址http://jaist.dl.s…...
Response.End
PRB:在使用 Response.End、Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException 察看本文应用于的产品 <script type"text/javascript">function loadTOCNode(){}</script> 文章编号:312629最后修改:2005年10月24日修订:2.4 本…...
CSS背景background八种属性
想必大家对背景不陌生,让我为大家介绍一下吧! 属性名简述background-color背景颜色background-image背景图片background-position背景定位background-size背景大小background-repeat背景是否平铺background-attachment背景是否随滚动条固定background-c…...
七夕表白爱心代码,可任意自定义名字
先看效果如 点此进入网址 复制下面代码保存成HTML格式即可,如果不会操作的可以直接点击上****里的页面,把你的名字和她的名字几个字 替换成你和爱人的名字即可(&符号不能去掉)。 <!DOCTYPE html> <html><he…...
VC6.0下载和安装教程
Microsoft Visual C,(简称Visual C、MSVC、VC或VC)是Microsoft公司推出的以C语言为基础的开发Windows环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可…...
[词根词缀]milit/min/miss/mod/mon等词根由来
本博文源于刘洪波老师的《字根词源精讲》,讲解milit/min/mir/miss/mod/mon/monstr/mor等词根,特别精彩,与大家分享! milit soldier 士兵 来源于拉丁文milit,“soldier” militant adj.好战的 militancy n.战斗性 m…...
【免费】springboot基于web的音乐网站|毕业设计|Javaweb项目
收藏点赞不迷路 关注作者有好处 编号:springboot102 springboot基于web的音乐网站 开发语言:Java 数据库:MySQL 技术:SpringSpringMVCMyBatisVue 工具:IDEA/Ecilpse、Navicat、Maven 1.系统展示 2.万字文档展示 第5章…...
在Android上编译linux内核驱动程序
一、新建新的驱动程序目录: shanlubuntu:~/Android/android-2.3.5_r1$ cd kernel/goldfish/drivers/ shanlubuntu:~/Android/android-2.3.5_r1/kernel/goldfish/drivers$ mkdir hello 二、hello目录里建立一个hello.h头文件,加入一个虚拟设备驱动&#…...
DSP入门
DSP入门必看(非常好的DSP扫盲文章)(ZZ)(7)如何设置硬件断点? 在profiler ->profile point -> break point c54x的外部中断是电平响应还是沿响应? 是沿响应,准确的说,它要检测到100(一个clk的高和两个clk的低)的变…...
死锁
死锁产生的原因有两个: 1.多进程或多线程对不可剥夺的软硬件资源进行的竞争 2.操作系统内核对于多个进程推进顺序的非法,多个进程对于资源的请求与释放的顺序不正确,造成资源的死锁。 程序员对信号量的使用不当,造成应用程序内部多进程或多线…...
arm板运行linux系统,用lcd运行linux的国产ARM板——需求定义
经过大量的研究,通过各种在线文档和文章,并与许多不同的事情,我终于设法使我的第一个Linux能力的ARM Cortex-A8板启动和运行。我在做董事会的时候,遇到了很多不同的困难。该板是基于一个ARM皮质A8 CPU运行在1 Ghz,这真…...
Vant 组件库的使用
Vant 组件库的使用 介绍 Vant 是一个轻量、可靠的移动端组件库。 安装 1.通过 npm 安装 # Vue 3 项目,安装最新版 Vant: npm i vant -S# Vue 2 项目,安装 Vant 2: npm i vantlatest-v2 -S2.通过 CDN 安装 <!-- 引入样式文…...
显卡驱动+gcc+cuda安装教程
https://blog.csdn.net/hancoder/article/details/86634415 如有驱动了,可以直接跳到cuda部分看 安装cuda只需要看1,2,4,5即可,一般gcc已经安装了无需重复安装。 本文安装cuda是直接安装到linux的环境中的ÿ…...
Matlab中legend函数使用
目录 语法 说明 例子 在当前坐标区上添加图例 在特定坐标区上添加图例 在执行绘图命令的过程中指定图例标签 从图例中排除线条 图例位置和列数 在分块图布局中显示共享图例 在图例中包含部分图形对象 创建包含 LaTeX 标记的图例 为图例添加标题 删除图例背景 修改…...
前端开发免费资源大汇总
本列表会不定期更新。更新后会在公号通知。 1、前端小白到大神,不可不收藏的网站合集 lifehacker.com 是一个资源类聚合性网站,里面包含了程序员生活的各类资讯。在这里你可以见识到不同程序员的技术分享。 CodePen 这个工具写前端代码最合适了ÿ…...
讲解几点关于Locallapstore怎么用的方法概论
今天在网上看到一个网友的提问:小弟6.11系统完美越狱,安装了locallapstore,手机上没任何反应,连图标都没(我也不知道这个插件是否有图标),请问高手们是怎么回事,谢谢大家了ÿ…...
学习笔记:Python程序流程与结构
1、程序流程图 程序流程图是用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式。 流程图的基本元素包括7种: ![](https://mmbiz.qpic.cn/mmbiz_png/xML2GYBfTfkKpAR1FG47mVTGErSlyRCvqpJicJ2uAEK9iaC9d…...
Serv-U 密钥
9dK4g4iPhvOsoEY9nprEiSsmW7OUqFaGuwHT1CtBn9K6hQVg0bd2okQ9ldel1IGE9b4xDP0q2WvE4vgZLA7unm6t3CxTI 转载于:https://www.cnblogs.com/jlw420/archive/2009/05/20/1471843.html...
金山画王2006 官方零售版
金山画王2006 【特色功能】 画纸 您看到的中间大块区域是「画纸」,所画的图形以及对图形所做的各种操作结果都显示在这里。 画板 画板共分为 14 个单元,其中第 1 页分为 7 个单元:笔、橡皮、仙女袋、倒色、吸色管、几何图形、文字。 音乐盒 …...