在尝试执行以下操作时:
for line in blines:
line.account = get_customer(line.AccountCode)
我在尝试为 line.account
赋值时遇到错误:
DetachedInstanceError: Parent instance <SunLedgerA at 0x16eda4d0> is not bound to a Session; lazy load operation of attribute 'account' cannot proceed
我是不是做错了什么?
最佳答案
“分离”意味着您正在处理一个与 Session
无关的 ORM 对象。 Session
是关系数据库的网关,因此,每当您引用映射对象上的属性时,ORM 有时需要返回数据库以获取该属性的当前值。一般来说,您应该只使用“附加”对象 - “分离”是一种临时状态,用于缓存和在 session 之间移动对象。
见 Quickie Intro to Object States ,然后可能也会阅读该文档的其余部分;)。
关于python - 父实例未绑定(bind)到 Session;属性“帐户”的延迟加载操作无法进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13967093/