一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Django 批量插入數據的實現方法

Django 批量插入數據的實現方法

2020-04-28 09:27Hank·Paul Python

這篇文章主要介紹了Django 批量插入數據的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

項目需求:瀏覽器中訪問django后端某一條url(如:127.0.0.1:8080/get_book/),實時朝數據庫中生成一千條數據并將生成的數據查詢出來,并展示到前端頁面

views.py

?
1
2
3
4
5
6
7
8
9
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

?
1
2
3
4
5
6
from django.conf.urls import url
from app01 import views
 
urlpatterns = [
 url(r'^get_book/',views.get_book)
]

models.py

?
1
2
3
4
from django.db import models
 
class get_book(models.Model):
 title = models.CharField(max_length=64)

get_book.html

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!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中原先的視圖函數稍作變化

?
1
2
3
4
5
6
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特地提供給我們的方便批量操作數據庫的方式,效率非常高!!!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/baohanblog/p/12181659.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2012在线观看免费视频大全 | 免费成年人在线视频 | 天美网站传媒入口网址 | 精品久久免费视频 | 884aa草莓视频 | 天堂bt在线| japanesqirl日本护士 | 毛片网站免费观看 | 边摸边吃奶又黄激烈视频韩国 | 国产99re在线观看69热 | 无限资源在线观看高清 | 国产精品亚洲午夜一区二区三区 | 三级无删减高清在线影院 | 青春草在线观看视频 | 色婷在线| 成人精品免费网站 | 亚洲一成人毛片 | 免费观看国产大片资源视频 | 国产高清在线视频一区二区三区 | gay勾搭直男com | 国产精品久久久久a影院 | 日本视频高清免费观看xxx | 日韩视频第二页 | 国产区一二三四区2021 | 天天插综合网 | 色婷亚洲 | 青青青手机视频在线观看 | 亚洲春色综合另类网蜜桃 | 啊好痛嗯轻一点免费 | oneday日本在线观看完整版 | 亚洲国产精品综合久久一线 | 亚洲精品中文字幕第一区 | 国产成人a∨麻豆精品 | 性色香蕉AV久久久天天网 | 大桥未久midd—962在线 | 久久噜国产精品拍拍拍拍 | 秋霞午夜视频在线观看 | 欧美日韩中文字幕一区二区高清 | 亚洲国产欧美另类 | 五月一区二区久久综合天堂 | 外女思春台湾三级 |