2

我正在使用 bulk_create 插入数千个用户一次:

new_users_bulk_list.append(User(user_id=user_id, date_of_birth=dob))
    if len(new_users_bulk_list) >= settings.BULK_LIMIT:
        try:
            User.objects.bulk_create(new_users_bulk_list)
            new_users_bulk_list[:] = []
        except Exception as e:
            print("Error: Creating users " + str(e))

和 bulk_update 更新许多记录:

user_bulk.append(user_sequence)
        if len(user_bulk) == settings.BULK_LIMIT:
            bulk_update(user_bulk)
            user_bulk[:] = []

如果 bulk_create 或 bulk_update 创建/更新记录失败,我如何识别这些失败的记录?有没有办法捕捉特定的失败记录?

谢谢,

4

1 回答 1

1

我认为不可能这样做。这个答案可能会给你一些见解。

我可能会建议一个远非完美的解决方法:手动拆分new_users_bulk_list成一定大小的批次。这至少可以让你在一定程度上控制正在发生的事情和失败的事情。

于 2016-11-14T11:03:11.343 回答