代码改变世界

django ORM 批量操作:批量插入bulk_create

2018-04-09 08:47  ZealouSnesS  阅读(4676)  评论(0编辑  收藏  举报

django批量create数据:bulk_create(list实例)

项目中看到这样一句

models.表名.objects.using('数据库名').bulk_create(list实例)

 

其中,bulk_create实现了批量插入数据的功能:

Django中需要向数据库中插入多条数据(list)。使用如下方法,每次save()的时候都会访问一次数据库。导致性能问题

1

2

3

for  i  in  resultlist: 

     p  =  Account(name = i)  

     p.save() 

django1.4以后加入了新的特性。使用django.db.models.query.QuerySet.bulk_create()批量创建对象,减少SQL查询次数。改进如下:

1

2

3

4

querysetlist = [] 

for  i  in  resultlist: 

     querysetlist.append(Account(name = i))         

Account.objects.bulk_create(querysetlist)