我正在使用 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 在创建/更新记录时失败,我如何识别这些失败的记录?有没有办法捕获特定的失败记录?
谢谢,
请您参考如下方法:
我认为这是不可能的。 This答案可能会让您有所了解。
我可能会建议一个远非完美的解决方法:手动将 new_users_bulk_list 分成一定大小的批处理。这至少可以让您在一定程度上控制正在发生的事情和失败的事情。
