10.Django高级之分页器组件
批量插入数据
模板层models.py
from django.db import models
class Books(models.Model):
name = models.CharField(max_length=32)
price = models.DecimalField(max_digits=8,decimal_places=2)
publish = models.CharField(max_length=32)
建表别忘了执行数据库迁移命令哦
python3 manage.py makemigrations python3 manage.py migrate
路由层urls.py
urlpatterns = [
url(r'^books_page/', views.books_page),
]
视图层views.py
# 往Book表里批量插入数据
def books_page(request):
# 第一种方案,每循环一次,操作一下数据库,性能低(相当于进行了1000次的数据库链接)
# for i in range(1000):
# book=models.Books.objects.create(name='图书%s'%i,price=i+10,publish='东京出版社')
#
# 第二种方案,批量插入
book_list=[] # 实例化对象放到列表里
for i in range(1000):
book=models.Books(name='图书%s'%i,price=i+10,publish='东京出版社')
book_list.append(book)
# bulk_create一次性插入,batch_size分批往里面插
models.Books.objects.bulk_create(book_list,batch_size=100)
return HttpResponse('ok')
# 当你想要批量插入数据的时候,使用ORM提供的 bulk_create 能够大大的减少操作时间
"https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
| id | 书名 | 价格 | 出版社 |
|---|---|---|---|
| {{ book.id }} | {{ book.name }} | {{ book.price }} | {{ book.publish }} |