推迟SQLAlchemy中的提交

时间:2018-11-26 00:50:52

标签: python sqlalchemy flask-sqlalchemy

上下文:我得到的代码是其中的各个模型在更新后各自执行自己的db.commit()。 (您可以争论这是否是不好的编码实践,但这不是这个问题的重点...)因为我的代码更新了许多模型,所以我想在完成所有更新后再执行一次commit()而不是为每次提交支付开销。

问题:是否有一种结构可以覆盖对commit()的所有调用(可能以上下文管理器的形式),并在末尾执行单个commit()? / p>

with deferred_commits(db):
    ... update a bunch of models that might themselves call commit ...

...或功能上等效的东西?我可以看到我将如何实现它,但是我宁愿在使用自己的代码之前使用经过测试的代码。

0 个答案:

没有答案