django的bulk_create是原子的吗?

huwehgph  于 2023-04-07  发布在  Go
关注(0)|答案(2)|浏览(126)

如果在django中使用bulk_create()批量创建对象时出现任何错误,Django会回滚更改吗?或者我应该显式使用transaction.atomic()吗?
我在我的模型中有外键引用,可能不存在于数据库中。
我用的是Django 1.11

rfbsl7qr

rfbsl7qr1#

如果没有batch_size设置,则bulk_create()生成单个查询(除了SQLite,其中batch为999)
只有在设置了batch_size并且希望还原所有以前的批处理时,才应该执行transaction.atomic()块

zmeyuzjn

zmeyuzjn2#

相关问题Transaction atomic needed for bulk create?的答案表明bulk_create()默认是原子的,因此不需要transaction.atomic()

相关问题