【问题标题】:Catch Specific Failed Records in bulk_create Django在 bulk_create Django 中捕获特定的失败记录
【发布时间】:2017-03-27 23:29:08
【问题描述】:

我正在使用 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 创建/更新记录失败,我如何识别这些失败的记录?有没有办法捕获特定的失败记录?

谢谢,

【问题讨论】:

    标签: python django sqlite bulk bulkupdate


    【解决方案1】:

    我认为这是不可能的。 This 回答可能会给你一些见解。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多