【Django】bulk_create和bulk_update的初步使用

本文记录了在Django中使用bulk_create和bulk_update进行数据批量创建和更新的操作,虽然已验证代码可行,但对于底层原理仍有待深入理解,未来将适时补充详细解析。
create_list = []
if not compare_create_df.empty:
    for index, create_info in compare_create_df.iterrows():
        create_list.append(RoleResourceList(id=create_info['id'],
                                            role_id=role_id,
                                            value=create_info['value'],
                                            children_value=create_info['children_value'],
                                            ))
    RoleResourceList.objects.bulk_create(create_list)

if not compare_change_df.empty:
    id_list = compare_change_df['id'].tolist()
    role_resource_queryset = RoleResourceList.objects.filter(id__in=id_list, role_id=role_id)
    for change_info in role_resource_queryset:
        id = change_info.id
        resource_data = compare_change_df[compare_change_df['id'] == id]
        change_info.role_id = role_id
        change_info.value = resource_data['value'].tolist()[0]
        change_info.children_value = resource_data['children_value'].tolist()[0]
    RoleResourceList.objects.bulk_update(role_resource_queryset, ["id", "role_id",
                                                                  "value",
                                                                  "children_value"])

试了下,代码可行,记录下代码,但还不懂原理.后续随缘更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值