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 ...
随机推荐
- Spring与Shiro整合
Spring整合篇--Shiro 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 什么是Shiro? 链接:https://www.cnblogs.com/StanleyBlogs/ ...
- Java基础知识总结之1.8新特性lambda表达式
函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是只包含一个方法的接口.比如Java标准库中的java.lang.Runnab ...
- linux系统资源查看常用命令
1.vmstat vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.IO读写.CPU活动等进行监视.它是对系统的整体情况进行统计, ...
- 10-kubernetes serveraccount RBAC
目录 认证安全 serviceAccountName 和 userAccount serviceaccount 创建 使用admin 的SA 测试 URL访问kubernetes资源 APIserve ...
- CentOS 7 Cobbler 配置 YUM仓库
通过Cobbler配置内网YUM仓库 在上一篇Cobbler 安装中,配置好了Cobbler 下面来通过Cobbler来配置内网的YUM仓库 这里可以同步所有版本的yum源,增加内网的yum安装下载速 ...
- JDK官方下载
平时进行java开发时避免不了使用jdk,而现在jdk版本已经到1.9了,但是之前版本下载在官方网站就不好找了(主要还是因为网站是英文的): 进入官网下载jdk的前提是进入官网,直接百度搜jdk下载也 ...
- 【洛谷】P2256
(^_^) 题目: 题目 思路: 这是一道并查集水题,适合初学者做!!! 若不会并查集的点我,那是dalao的博客! 本题难点:名字是字符串,要字符串处理 给每个名字一个编号,如\(1,2,3,4,5 ...
- OS_Architecture_MemoryHierarchy
Hit: if the data CPU is looking for can not be found in a cache, it constitutes a hit. Miss: cache m ...
- 浅析babel产出
(function(modules) { // 缓存对象 var installedModules = {}; // require方法 function __webpack_require__(mo ...
- 挑战10个最难的Java面试题(附答案)【下】【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...