【1】准备数据
class Book(models.Model):
title = models.CharField(max_length=32)
【2】一条一条插入
- 后端
def ab_many(request):
# (1)先给Book表插入一万条数据
for i in range(1000):
models.Book.objects.create(title=f'第{i}本书')
# (2)将所有数据查询到并展示给前端页面
book_queryset = models.Book.objects.all()
return render(request, 'ab_many.html', locals())
- 前端
{% for book_obj in book_queryset %}
<p>{{ book_obj.title }}</p>
{% endfor %}
效果就是,有一种网络很高的感觉,页面一直在转圈圈
【3】优化-批量插入
def ab_many(request):
# 批量插入
boo_list = []
for i in range(1000):
book_obj = models.Book.objects.create(title=f'第{i}本书')
boo_list.append(book_obj)
models.Book.objects.bulk_create(boo_list)
return render(request, 'ab_many.html', locals())
- 当我们想向数据库批量插入数据的时候,使用ORM提供的bulk_create方法能够大大的减少操作的时间