django create 与 bulk_create

小编只针对自己遇到的问题,来进行讲解,引以为戒

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值