小编只针对自己遇到的问题,来进行讲解,引以为戒
create是针对创建一条新数据。那么我们直接来看代码把
for i in policy:
if (i.ins_policy_no, i.ins_type)not in no_ins_query:
NoIncludeInsPolicy.objects.create(
top_org_id=request.user.top_org_id,
,,,,,,
)
如果policy里面是有大量的数据,那么create在循环里面 就是没循环一次就要访问一次数据库创建一条数据,这样增加了数据的压力,功能会实现,但是性能不是特别好
所以我们在这里比较适合用bulk_create 针对多条数据批量创建,但是bulk_create 不能用在for循环里面,如果用在for循环里面没有任何意义,
所以我们可以先把循环出来的数据 放到一个列表里,然后在循环的外面在用bulk_create
代码如下
list_ = []
for i in policy:
if (i.ins_policy_no, i.ins_type) not in no_ins_query:
list_.append(NoIncludeInsPolicy(
top_org_id=request.user.top_org_id,
,,,,,,,
))
NoIncludeInsPolicy.objects.bulk_create(list_)