【发布时间】:2012-12-02 23:58:59
【问题描述】:
我是 SQLAlchemy 的新手,继承了一个有点混乱的代码库,无法访问原作者。
代码中包含对DBSession.flush() 的调用,似乎任何时候作者都想确保数据被保存。起初我只是按照我在这段代码中看到的模式,但是当我阅读文档时,这似乎是不必要的——自动刷新应该到位。此外,我遇到了一些 AJAX 调用的情况,这些调用会生成错误“InvalidRequestError: Session is already flushing”。
在什么情况下我会合法地保持对 flush() 的调用?
这是一个 Pyramid 应用程序,正在设置 SQLAlchemy:
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension(), expire_on_commit=False))
Base = declarative_base()
【问题讨论】:
标签: python sqlalchemy pyramid