【问题标题】:Does django bulk_create possible exceptionsdjango bulk_create 是否可能出现异常
【发布时间】:2018-10-29 04:59:06
【问题描述】:

使用Model.objects.bulk_create() 时,如果在插入过程中发生异常,它是回滚整个操作还是继续处理不冲突的记录,有什么方法可以知道插入了哪些记录,哪些引发了错误?

【问题讨论】:

    标签: django django-models transactions


    【解决方案1】:

    如果发生异常,整个操作将被回滚。如果您查看source code,您会发现所有数据库操作都包含在transaction.atomic() 中。

    无法知道是哪些价值观导致了冲突。此类信息可能会在特定于数据库的错误消息中提供,但这不是 API 的一部分。

    请注意,从 Django 2.2 开始,将有一个 ignore_conflicts 参数,可让您明确控制操作是否回滚或是否忽略冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-04
      • 2016-05-21
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多