django基础之day08,利用bulk_create 批量插入成千上万条数据
bulk_create批量插入数据
models.py文件
class Book(models.Model):
title=models.CharField(max_length=32)
urls.py文件
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
#首页
url(r'^$', views.home),
#访问该url就会往book表中批量插入数据
url(r'^index/', views.index),
]
views.py文件
# 批量插入数据作业
# 往数据表Book中插入1000条数据
def index(request):
'''
#1.效率低下的方法还容易插入数据异常
作为了解即可!!!!!!!!
方法一的思路:
1.通过for循环将数据插入Book表中
2.通过models将Book表中的数据全部查出来
3.通过return render将查出来的数据返回到页面上显示
方式一的后果是:数据库被插入崩掉了,插入的数据还不完整,耗时也很长
:param request:
:return:
for i in range(1000):
models.Book.objects.create(title='第%s本书'%i)
book_queryset = models.Book.objects.all()
'''
'''
页面传值的两种方式:
return render(request,'index.html',{'xxx':book_queryset}) #方式一
return render(request,'index.html',locals()) #方式二
'''
# 2.强烈推荐使用高效的bulk_create批量插入数据
# 利用bulk_create批量插入1万条数据
'''
方法二的解决问题思路:
1.创建一个空列表
2.利用for循环,然后往空列表中添加一个个的数据
3.一个个的数据通过models.Book(title='第%s本书'%i)填充数据
4.利用bulk_create方法批量插入列表中已经存在的数据,存入到数据库中
5.通过models查询出表中的所有数据赋值给一个对象
6.通过return render()将所有数据返回到前端页面,locals()是提交所有数据到前端
'''
book_list = []
for i in range(10000):
book_list.append(models.Book(title='第%s书' % i))
models.Book.objects.bulk_create(book_list)
#获得Book对象点批量插入数据方法,插入book_list列表的数据
book_queryset = models.Book.objects.all()
return render(request, 'index.html', locals()) # 方式二
index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index页面批量插入数据作业</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>
</head>
<body>
{% for book in book_queryset %}
<p>{{ book.title }}</p>
{% endfor %}
</body>
</html>
django基础之day08,利用bulk_create 批量插入成千上万条数据的更多相关文章
- mysql命令行批量插入100条数据命令
先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...
- oracle 使用occi方式 批量插入多条数据
if (vecInfo.empty()) { ; //数据为空,不上传,不上传标志设置为1,只有0表示上传成功 } std::string strUserName = userName; std::s ...
- oracle使用一条语句批量插入多条数据
例如我有一个test表 create table (stuid int,name varchar(20); 插入多条数据,注意不能直接使用insert into test values(1,'a'), ...
- 使用SqlBulkCopy批量插入多条数据进入表中
由于工作中项目需求结算一次生成一批相同批次号的数据插入一个表中,然后再通过另一页面展示出来,所以需要用到一次性插入一批数据,所以就采用了SqlBulkCopy插入一批数据 1 public stati ...
- MySQL批量插入多条数据方便测试
批量插入流程 数据库字段 delimiter create procedure doinsert3() begin declare i int; declare j int; ; ; ) do ins ...
- mysql存储过程命令行批量插入N条数据命令
原文:http://blog.csdn.net/tomcat_2014/article/details/53377924 delimiter $$ create procedure myproc () ...
- django之ajax结合sweetalert使用,分页器和bulk_create批量插入 07
目录 sweetalert插件 bulk_create 批量插入数据 分页器 简易版本的分页器的推导 自定义分页器的使用(组件) sweetalert插件 有这么一个需求: 当用户进行一个删除数据 ...
- Django—ajax、前端后端编码格式,bulk_create批量插入语数据库、自定义分页
一.ajax简介: XML也是一门标记语言该语法应用场景 1.写配置文件 2.可以写前端页面(odoo框架中 erp) 每家公司都会有属于这家公司独有的内部管理软件:专门用来开发企业内部管理软件 框架 ...
- django基础之day08,分页器从无到有,动态思路解析全过程
*********分页器从无到有的全过程,动态思路解析如下:******** 1.通过book_queryset = models.Book.objects.all()[start_num:end_n ...
随机推荐
- python_06
今日内容:注意: selenium驱动的浏览器是干净的,没有任何缓存. 1.selenium剩余用法 2.selenium万能登录破解 3.selenium爬取京东商品信息 4.破解极验滑动验证码 X ...
- python主线程与子线程的结束顺序
引用自 主线程退出对子线程的影响--YuanLi 的一段话: 对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后 ...
- 请求https前缀的网站验证SSL证书的解决方案之一
from requests.packages.urllib3.exceptions import InsecureRequestWarning # 禁用安全请求警告requests.packages. ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- 窗体的FormBorderStyle属性的不同效果
查看原文:http://blog.xieyc.com/form-border-style/ 设置窗体边框可以通过设置窗体的FormBorderStyle属性设置.属性值可以通过枚举类型FormBord ...
- Spring(Bean)5
spel <bean id="address" class="com.atguigu.spring.beans.spel.Address"> < ...
- php 第1讲 html介绍 html运行原理①
1. html (hypertext mark-up language )是 超文本编辑语言,主要的用处是做网页,可以在网页上显示文字.图形.动画.视频... “标记“有时候也称之为“元素” 动态网页 ...
- Docker虚拟化之<基础理论>
1.虚拟化技术的概念 (1)虚拟化技术主要是将物理的资源转变为逻辑上可以管理的资源,以打破物理结构上的壁垒,让计算元件运行在虚拟的基础上,而不是真实的物理资源上.(2)虚拟化技术的底层是要进行虚拟化的 ...
- 2019-2020-2 20199317《Linux内核原理与分析》第二周作业
第一章 计算机工作原理 1 存储程序计算机工作模型 存储程序计算机的主要思想是将程序存放在计算机存储器中,然后按存储器中的存储程序的首地址执行程序的第一条指令,以后就按照该程序中编写 ...
- PHP fsockopen受服务器KeepAlive影响的解决
在开发过程中常常遇到这样的需求,模拟浏览器访问某接口,并获取返回数据.我们比较常使用的方法是fsockopen与接口建立连接,然后发出指令,然后通过fgets接受返回值. 但是我们发现,通过PHP模拟 ...