sqlalchemy会话的标准/常规配置:
from sqlalchemy.orm import scoped_session, sessionmaker
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) # 0
engine = engine_from_config(config, 'sqlalchemy.')
try:
DBSession.query('1').scalar() # 1
except UnboundExecutionError:
pass # expected here - session is not bound
DBSession.configure(bind=engine) # 2
try:
DBSession.query('1').scalar() # 3
except UnboundExecutionError:
pass # not expected here - session is bound ?
任何使用未绑定会话的尝试都将以broken?
session对象结束-要使用session,我必须用#0行创建一个新的会话。在
我应该如何检查会话对象是否未绑定并且始终只保留一个对象?在
您应该保留对会话工厂的引用。在
而不是
你可以的
^{pr2}$每次需要会话时,只需调用
Session()
。没必要有单身汉。在相关问题 更多 >
编程相关推荐