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 批量插入成千上万条数据的更多相关文章

  1. mysql命令行批量插入100条数据命令

    先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...

  2. oracle 使用occi方式 批量插入多条数据

    if (vecInfo.empty()) { ; //数据为空,不上传,不上传标志设置为1,只有0表示上传成功 } std::string strUserName = userName; std::s ...

  3. oracle使用一条语句批量插入多条数据

    例如我有一个test表 create table (stuid int,name varchar(20); 插入多条数据,注意不能直接使用insert into test values(1,'a'), ...

  4. 使用SqlBulkCopy批量插入多条数据进入表中

    由于工作中项目需求结算一次生成一批相同批次号的数据插入一个表中,然后再通过另一页面展示出来,所以需要用到一次性插入一批数据,所以就采用了SqlBulkCopy插入一批数据 1 public stati ...

  5. MySQL批量插入多条数据方便测试

    批量插入流程 数据库字段 delimiter create procedure doinsert3() begin declare i int; declare j int; ; ; ) do ins ...

  6. mysql存储过程命令行批量插入N条数据命令

    原文:http://blog.csdn.net/tomcat_2014/article/details/53377924 delimiter $$ create procedure myproc () ...

  7. django之ajax结合sweetalert使用,分页器和bulk_create批量插入 07

    目录 sweetalert插件 bulk_create 批量插入数据 分页器 简易版本的分页器的推导 自定义分页器的使用(组件) sweetalert插件 有这么一个需求: ​ 当用户进行一个删除数据 ...

  8. Django—ajax、前端后端编码格式,bulk_create批量插入语数据库、自定义分页

    一.ajax简介: XML也是一门标记语言该语法应用场景 1.写配置文件 2.可以写前端页面(odoo框架中 erp) 每家公司都会有属于这家公司独有的内部管理软件:专门用来开发企业内部管理软件 框架 ...

  9. django基础之day08,分页器从无到有,动态思路解析全过程

    *********分页器从无到有的全过程,动态思路解析如下:******** 1.通过book_queryset = models.Book.objects.all()[start_num:end_n ...

随机推荐

  1. python_day03

    今日所学内容 1.函数部分: #函数的三种定义方式#1.无参函数:不需要外部传入的参数#2.有参函数:需要接受外部传入的参数#3.空函数:def func(): pass#pass代表说明都不用做# ...

  2. 【Luogu P1090】合并果子

    Luogu P1090 [解题思路] 刚看到这题的时候,第一反应就是每次取两个最小,然后重新排序,再取最小.但是这样会TLE. 既然找最小的,那就可以利用单调队列了.显然输入的数据是不具有单调性的,但 ...

  3. win上找到host文件的方法

    在运行的位置输入 C:\WINDOWS\system32\drivers\etc

  4. 从BWM生产学习工厂模式

    工厂模式应用非常之广,在JDK底层源码以及各大主流框架中随处可见,一般以Factory结尾命名的类,比如Mybatis中的SqlSessionFactory,Spring中的BeanFactory等, ...

  5. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

  6. 设置属性节点(setAttribute())

    setAttribute():方法将为给定元素节点添加一个新的属性值或是改变它的现有属性值: element.setAttribute(attriibuteName,attributeValue); ...

  7. 构建调试Linux内核网络代码的环境MenuOS系统

    构建MenuOS系统 1.将指定文件拷贝到本地: git clone https://github.com/mengning/linuxnet.git 此过程可能需要输入github账号和密码. 2. ...

  8. auto_modify_ip Shell脚本安装

    #!/bin/bash # : #This author is DKS #auto modify ip of linux ############################### IP_NAME ...

  9. 2019-2020-1 20199304《Linux内核原理与分析》第一周作业

    通过对Linux基础课程的学习,我对Linux的背景以及和Windows的区别有了了解, Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠 ...

  10. javascript基础修炼(13)——记一道有趣的JS脑洞练习题【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...