Django 批量插入数据的实现方法


Posted in Python onJanuary 12, 2020

项目需求:浏览器中访问django后端某一条url(如:127.0.0.1:8080/get_book/),实时朝数据库中生成一千条数据并将生成的数据查询出来,并展示到前端页面

views.py

from django.shortcuts import render, HttpResponse, redirect
from app01 import models

def get_book(request):
# for循环插入1000条数据

for i in range(1000):


models.Book.objects.create(name='第%s本书'%i)

book_queryset = models.Book.objects.all()   # 将插入的数据再查询出来

return render(request,'get_book.html',locals()) # 将查询出来的数据传递给html页面

urls.py

from django.conf.urls import url
from app01 import views

urlpatterns = [
 url(r'^get_book/',views.get_book)
]

models.py

from django.db import models

class get_book(models.Model):
 title = models.CharField(max_length=64)

get_book.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
  {% load static %}
  <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}" rel="external nofollow" >
  <link rel="stylesheet" href="{% static 'dist/sweetalert.css' %}" rel="external nofollow" >
  <script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>
  <script src="{% static 'dist/sweetalert.min.js' %}"></script>
</head>
<body>
{% for book_obj in book_queryset %}
   <p>{{ book_obj.title }}</p>
{% endfor %}
</body>
</html>

上述代码书写完毕后启动django后端,浏览器访问,会发现浏览器会有一个明显的卡顿等待时间,这是因为后端在不停的操作数据库,耗时较长,大概需要等待一段时间之后才能正常看到刚刚插入的1000条数据,很明显这样操作数据库的效率太低,那有没有一种方式是专门用来批量操作数据库的呢?答案是肯定的!

bulk_create方法

将views.py中原先的视图函数稍作变化

def get_book(request):
  l = []
  for i in range(10000):
    l.append(models.Book(title='第%s本书'%i))
  models.Book.objects.bulk_create(l) # 批量插入数据
    return render(request,'get_book.html',locals())

代码修改完毕之后其他地方无需改动,重启django项目浏览器重新访问,你会立马发现数据量增大十倍的情况下页面出现的速度比上面还快。

bulk_create方法是django orm特地提供给我们的方便批量操作数据库的方式,效率非常高!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
Python自动生产表情包
Mar 17 Python
python简单操作excle的方法
Sep 12 Python
python3爬虫怎样构建请求header
Dec 23 Python
python数据归一化及三种方法详解
Aug 06 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
Python实现简单的2048小游戏
Mar 01 Python
python处理RSTP视频流过程解析
Jan 11 #Python
pyftplib中文乱码问题解决方案
Jan 11 #Python
python实现实时视频流播放代码实例
Jan 11 #Python
python3下pygame如何实现显示中文
Jan 11 #Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 #Python
Pytorch保存模型用于测试和用于继续训练的区别详解
Jan 10 #Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 #Python
You might like
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
PHP 基本语法格式
2009/12/15 PHP
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python修改注册表终止360进程实例
2014/10/13 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
python 检查文件mime类型的方法
2018/12/08 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
创建市级文明单位实施方案
2014/03/01 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
庐山导游词
2015/02/03 职场文书
开国大典观后感
2015/06/04 职场文书
读书笔记怎么写
2015/07/01 职场文书