【发布时间】:2010-11-24 02:22:56
【问题描述】:
我不太确定 scoped_session 是如何工作的,除了它似乎是一个隐藏多个真实会话的包装器,将它们分开以处理不同的请求。它对线程局部变量执行此操作吗?
反正麻烦如下:
S = elixir.session # = scoped_session(...)
f = Foo(bar=1)
S.add(f) # ERROR, f is already attached to session (different session)
不确定 f 如何在不同的会话中结束,我之前没有遇到过问题。在其他地方,我的代码看起来就像那样,但实际上可以工作。你可以想象,我觉得这很令人困惑。
我只是在这里什么都不知道,f 似乎被神奇地添加到构造函数中的会话中,但我似乎没有对它使用的会话的任何引用。为什么它会在不同的会话中结束?我怎样才能让它在正确的会话中结束?这个 scoped_session 是如何工作的?它有时似乎有效,有时却无效。
我肯定很困惑。
【问题讨论】:
标签: python sqlalchemy python-elixir