栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在SQLAlchemy中将joinedload / contains_eager用于启用查询的关系(lazy =“ dynamic”选项)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在SQLAlchemy中将joinedload / contains_eager用于启用查询的关系(lazy =“ dynamic”选项)

问题在于

User
职位的属性是动态关系;它应该返回一个
Query
对象。该属性无法知道或安全地进行通信,这一次,所有相关项均已加载。

一个简单的解决方法是拥有两个属性,一个属性使用正常的延迟加载行为(您可以将其设置为在有意义的情况下对特定查询进行紧急加载),另一个属性始终返回动态关系。

class User(base):    id = Column(Integer, primary_key=True)    name = Column(String, nullable=False, unique=True)    created_at = Colmn(DateTime, nullable=False, default=func.now())class Post(base):    id = Column(Integer, primary_key=True)    user_id = Column(Integer, ForeignKey(User.id), nullable=False)    user = relationship(User, backref=backref('posts'))    title = Column(String, nullable=False)    body = Column(Text, nullable=False)    created_at = Colmn(DateTime, nullable=False, default=func.now())User.post_query = relationship(Post, lazy="dynamic")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/623745.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号