отсрочка коммитов в SQLAlchemy - PullRequest
0 голосов
/ 26 ноября 2018

Контекст: Мне дан код, в котором отдельные модели делают свои db.commit() после обновления.(Вы можете поспорить, является ли это плохой практикой кодирования, но суть этого вопроса не в этом ...) Поскольку мой код обновляет несколько моделей, я бы хотел сделать один коммит () после завершения всех обновлений, а нечем оплачивать накладные расходы на отдельные коммиты.

Вопрос: Существует ли конструкция, которая переопределяет все вызовы commit(), возможно, в виде диспетчера контекста, который выполняет один commit() в конце?

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

... или что-то функционально эквивалентное?Я вижу, как я это реализую, но я бы предпочел использовать проверенный код, прежде чем развернуть свой собственный.

...