Когда мне следует вызывать flush () для SQLAlchemy?

Я новичок в SQLAlchemy и унаследовал несколько грязную кодовую базу без доступа к первоначальному автору.

Код написан с вызовамиDBSession.flush()По-видимому, каждый раз, когда автор хотел убедиться, что данные сохраняются. Сначала я просто следовал шаблонам, которые видел в этом коде, но по мере того, какЯ читаю документы, кажется, что в этом нет необходимости - автозапуск должен быть на месте. Кроме того, яЯ попал в несколько случаев с вызовами AJAX, которые генерируют ошибку "InvalidRequestError: Сессия уже сбрасывается ".

При каких сценариях я законно хотел бы оставить вызов flush ()?

Это приложение Pyramid, и SQLAlchemy настраивается с помощью:

DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension(), expire_on_commit=False))
Base = declarative_base()

Ответы на вопрос(1)

Ваш ответ на вопрос