python - 父实例未绑定(bind)到 Session;属性“帐户”的延迟加载操作无法进行

标签 python sqlalchemy

在尝试执行以下操作时:

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/

相关文章:

c# - 将图像转换为要绘制的线条数组

python - Statsmodels - 线性回归模型 (OLS) 中系数趋势显着性的 Wald 检验

python - 正则表达式 re.findall() 挂起 - 如果您无法逐行阅读怎么办

python - SqlAlchemy 非持久列

python - 在 SQLAlchemy 中插入两个相关对象失败

python - 查找出现最大值但如果所有值均为零则不返回任何内容的列

python - 如果注释行与我的 input.txt 文件中的 python 位于同一行代码中,则注释行不会被转义

python - 格式化 SQLAlchemy 代码

sqlite - Pylons、SQlite 和自动增量字段

python - 有没有办法在 sqlalchemy 中跨多个 session 执行连接?