django models中批量导入数据

在django中普通创建数据:

task_details_obj = models.TaskDetails.objects.create(
host_to_remote_user_id=host,
task=task_obj
)
task_details_obj.save()

如果想要大量导入数据,使用for循环每创建一条数据都会提交一次,会占用数据库大量资源,使用批量导入bulk_create,使用事务,只提交一次,要么全成功要么全失败:

task_details_objs = []
for host in host_list:
    obj = models.TaskDetails(host_to_remote_user_id=host, task=task_obj)
    task_details_objs.append(obj)
models.TaskDetails.objects.bulk_create(task_details_objs)

 

posted @ 2019-04-12 16:41  守望人间  阅读(3144)  评论(0)    收藏  举报