0

似乎tansaction.commit()是我必须在 pyramid 中做出承诺的唯一方法paster pshell。我知道它在提供网页方面很好,但在 shell 中,在那之后,在下一次 SQLAlchemy MyModel.my_attribute 调用中我得到:

DetachedInstanceError: Parent instance <MyModel at 0x9394d0c> is not bound to
a Session; lazy load operation of attribute 'my_attribute' cannot proceed

我怎样才能避免它?

4

2 回答 2

1

传给keep_session=True_ZopeTransactionExtension()

来源: https ://pypi.python.org/pypi/zope.sqlalchemy#long-lasting-session-scopes

于 2013-10-09T11:31:41.110 回答
0

我相信这是由于expire_on_commitSQLA 会话的选项。执行提交后,您在旧事务中使用的对象必须刷新或合并到新会话中。关键是这实际上与transaction模块本身无关。

于 2011-07-07T18:02:25.413 回答