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) |