【发布时间】:2015-06-06 13:14:32
【问题描述】:
文章 What the Zope Transaction Manager Means To Me (and you) 演示了一种以这种方式将 SQLAlchemy DB 会话附加到每个请求的好方法:
def includeme(config):
settings = config.get_settings()
engine = engine_from_config(settings)
maker = sessionmaker()
register(maker)
maker.configure(bind=engine)
config.add_request_method(lambda request: maker(), 'db_session', reify=True)
这种方法的问题是“在这种设计下,事务管理器仍然作为线程本地提供”。知道如何解决吗?谢谢!
【问题讨论】:
-
不仅仅是事务管理;在这里,您还对会话有线程本地约束。你看过docs.sqlalchemy.org/en/latest/orm/…
标签: python sqlalchemy thread-safety pyramid