gpt4 book ai didi

python - {DetachedInstanceError} 父实例 未绑定(bind)到 session ;属性 'owner' 的延迟加载操作无法继续

转载 作者:太空狗 更新时间:2023-10-30 01:07:51 25 4
gpt4 key购买 nike

我收到错误消息:{DetachedInstanceError} 父实例未绑定(bind)到 session ;属性“所有者”的延迟加载操作无法继续

我的 python 代码:

car_obj = my_query_function()  # get a Car object
owner_name = car_obj.owner.name # here generate error!

我的模型:

class Person(EntityClass):
attributes = ['id', 'name']

name = sa.Column(sa.String(250))


class Car(EntityClass):
attributes = ['id', 'brand', 'color', 'purchase_time', 'owner_id']

brand = sa.Column(sa.String(250))
color = sa.Column(sa.String(250))
purchase_time = sa.Column(sa.String(250))
owner_id = sa.Column(DBKeyType, sa.ForeignKey(Person.__tablename__ + '.id'), nullable=False)
owner = relationship('Person', cascade='all, delete-orphan', backref=backref('car', cascade='delete'), single_parent=True)

这个是不是跟Car和User的lazy-loading关系设置有关(多对一关联)?我该如何修复关系?提前致谢。

最佳答案

我跟踪文档并通过添加 lazy='subquery' 使其工作

owner = relationship('Person', lazy='subquery', cascade='all, delete-orphan', backref=backref('car', cascade='delete'), single_parent=True)

http://docs.sqlalchemy.org/en/rel_0_9/orm/join_conditions.html

关于python - {DetachedInstanceError} 父实例 <Car> 未绑定(bind)到 session ;属性 'owner' 的延迟加载操作无法继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27701573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com