使用bulkcreate方法实现批量插入
- 定义一个列表
- for 循环插入数量
- 先
models.表名(字段名=数据)
生成对象(此处没有操作数据库),并且 一次性append进列表中 - 再
bulk_create(list)
将列表一次性插入数据库
这个方法比起for循环然后直接插入数据库,要节省大量的时间
1 定义表模型
class Books(models.Model):
title = models.CharField(max_length=32)
price = models.DecimalField(max_digits=7,decimal_places=2)
def __str__(self):
return self.title
2 批量添加
from django.test import TestCase
import os
# Create your tests here.
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'D72_pager.settings')
import django
django.setup()
from pagers import models
booklist = []
for i in range(1,101):
booklist.append(models.Books(title='书籍%s'%i,price=30+i))
models.Books.objects.bulk_create(booklist)