多次调用my_model.save()会使Django变慢

时间:2015-02-20 20:03:31

标签: django

我正在使用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

1 个答案:

答案 0 :(得分:1)

不,save()不会强制执行autocommitatomic()中的代码在单个事务中运行。