似乎tansaction.commit()
是我必須在金字塔paster pshell
中進行提交的唯一方法。 我知道這是在服務網頁,但在外殼良好,在此之後,旁邊的SQLAlchemy MyModel.my_attribute電話,我得到:在pyramind paster中的transaction.commit之後避免會話過期pshell
DetachedInstanceError: Parent instance <MyModel at 0x9394d0c> is not bound to
a Session; lazy load operation of attribute 'my_attribute' cannot proceed
我怎樣才能避免呢?
這並沒有發生(我敢肯定,但現在不能檢查)在塔'貼紙shell'在那裏我可以使用'會議。 commit()'然後再次使用對象而不用'DetachedInstanceError'。現在我不能再使用它了,並且我被邀請使用'transaction.commit()',而且我應該將'expire_on_commit'傳遞給'sessionmaker',它是'models.py'中sessionmaker的一個'sessionmaker(extension = ZopeTransactionExtension ())'並且改變它也會反映在服務頁面上。那麼,我能做什麼(除了不再使用'transaction'外)? – neurino
此外''expire_on_commit = False'到'sessionmaker'不會改變:'pshell'因爲在'transaction.commit()'之後,我得到'DetachedInstanceError' ... sob – neurino