我正在使用Django 1.7。
我正在尝试做类似的事情:
with transaction.atomic():
for x in y:
# Logic here.
x.save()
这在Django 1.7中非常慢。我期望更好的表现,因为我在transaction.atomic
块。经过一些研究后,我相信Django每次拨打save
并使用autocommit
时都会访问数据库。 我有什么选择来加速这段代码?理想情况下,我不必更改for循环中的逻辑。每次调用save
是否都在autocommit
上运行?或者在transaction.atomic
区域内禁用autocommit
?
答案 0 :(得分:1)
不,save()
不会强制执行autocommit
。 atomic()
中的代码在单个事务中运行。