【发布时间】:2020-06-02 18:22:00
【问题描述】:
我正在使用 Django 的 bulk_create 方法一次创建多个条目。
为了确保只有在没有异常的情况下才提交更改,我正在考虑将transaction.atomic() 添加到代码块中,但我不确定是否需要添加它。
据我了解,我只需要在场景 2 中添加它,因为在这种情况下我要执行多个查询。
场景 1
在一个查询中创建 1.000 个条目
Entry.objects.bulk_create([
Entry(headline='This is a test'),
Entry(headline='This is only a test'),
# ...
])
场景 2
分批创建 10.000 个条目
Entry.objects.bulk_create([
Entry(headline='This is a test'),
Entry(headline='This is only a test'),
# ...
], batch_size=1_000)
【问题讨论】: