如何使用 SQLAlchemy 查明惰性关系是否尚未加载?

2024-06-09

使用 SQLAlchemy,有没有办法预先知道关系是否会延迟加载?
例如,给定一个惰性父->子关系和“parent”的实例 X,我想知道“X.children”是否已加载,而不触发查询。


您可以从以下位置获取所有已卸载属性(关系和列)的列表sqlalchemy.orm.attributes.instance_state(obj).unloaded.

See: 用其关系完成对象并避免 sqlalchemy 中不必要的查询 https://stackoverflow.com/questions/5795492/completing-object-with-its-relations-and-avoiding-unnecessary-queries-in-sqlalch

更简单的方法是使用inspect(),给出相同的结果:

from sqlalchemy import inspect
from sqlalchemy.orm import lazyload

user = session.query(User).options(lazyload(User.articles)).first()
ins = inspect(user)

ins.unloaded  # <- set or properties that are not yet loaded
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 SQLAlchemy 查明惰性关系是否尚未加载? 的相关文章

随机推荐

  • Node.js 连接到 MySQL Docker 容器 ECONNREFUSED

    在将此问题标记为重复之前 请注意我确实阅读了其他答案 但它并没有解决我的问题 我有一个包含两个服务的 Docker compose 文件 version 3 services mysql image mysql 5 7 environmen
  • pyExcelerator 或 xlrd - 如何查找/搜索给定几列数据的行?

    Python 与 EXCEL 通信 我需要找到一种方法 以便我可以查找 搜索给定列数据的行 现在 我正在逐一扫描整个行 这将很有用 如果有一些功能 如查找 搜索 替换 我在 pyExcelerator 或 xlrd 模块中没有看到这些功能
  • 计算 pandas 数据框中的相同日期[重复]

    这个问题在这里已经有答案了 我有一个带有日期列的数据框 我想创建一个新列来告诉我数据集包含多少个相同的日期 这是原始数据集的一个最小示例 df1 date 2017 01 03 2017 01 03 2017 01 04 2017 01 0
  • 参数绑定到 ASP.NET MVC Core 中的路由或查询字符串

    我正在将 ASP NET MVC NET Framework Web 应用程序迁移到 ASP NET MVC Core 3 1 该应用程序是公司内部的 我们正在借此机会清理一些 API 路由 使它们更加 RESTful 例如 api Val
  • 嵌套路径和文件集有什么区别?

    我已经在谷歌上搜索 文件集和路径之间的差异 文章有一段时间了 但没有发现任何有用的东西 例如 以下内容有什么区别 比如说 有一个someDir目录 其中包含 jar 文件且没有子目录
  • Material UI V5 主题定制

    我如何覆盖material ui 的css 我想将颜色更改为 白色 因为当我尝试在文本字段上书写时 颜色是黑色 如果你想只是文本颜色为白色 你可以加sxTextField 的 prop
  • 如何让JPanel可滚动?

    我正在为我的大学项目创建 GUI 我试图了解如何JScrollPane works 我已经成功编写了简单的程序 以可滚动的方式显示图片 public class ScrollPaneTest public static void main
  • 将 C# Web 表单添加到 VB Web 应用程序

    有没有办法将 C Web 窗体添加到用 VB NET 编写的 ASP NET 4 0 Web 应用程序中 我有一个 ASP NET 2 0WEB SITE我最近转换为 ASP NET 4 0WEB应用程序 它主要是用 VB NET 编写的
  • Font Awesome 图标在 OSX Safari 中不起作用

    My font awesome图标在 Firefox 和 Chrome 中工作正常 但在 Safari 中我只看到其中一些图标的空白 而其他图标则看不到 截屏 如您所见 图标为fa twitter fa instagram和其他人只是没有出
  • 在简单整数列表语法中使用 AntLR4 中的访问者

    我是 AntLR 的新手 我使用的是AntLR4版本 我编写了以下属性语法 它识别整数列表并在末尾打印列表的总和 list g4 grammar list header import java util List import java u
  • 如何从外部 url 下载文件到变量?

    好吧 getfile 可用于从 SYSTEM 获取文件 但是 如何下载 site com t txt 我真的找不到它 而且我找到的东西没有用 如果之前问过 请重定向我 在带有 XMLHTTPRequest 的现代浏览器中 您要求做的事情非常
  • 使用一个字段覆盖类中的 Equals 和 GetHashCode

    我有一堂课 public abstract class AbstractDictionaryObject public virtual int LangId get set public override bool Equals objec
  • Bootstrap缩略图+每行高度相同的标题?

    有相关问题here https stackoverflow com questions 13643438 twitter boostrap ensure equal heights of thumbnail boxes or here ht
  • 将自定义数据与引导日期选择器中的日期绑定

    我有特定日期注册的总用户数 就像下图一样 我怎样才能显示它们和日期 我在用多日期选择器 http multidatespickr sourceforge net 有什么办法可以做到这一点吗 UPDATE 预先选定的日期 with altFi
  • 如何在 Flexbox 中使用媒体查询控制每行的项目数?

    所以想象我有以下内容Markup div class container div class item div div class item div div class item div div class item div div cla
  • 如何从内存转储中查找预加载系统绘图(位图)的 ID 或名称

    我正在分析我们应用程序的内存使用情况 发现很奇怪Drawables 它不断地 吃掉 几兆字节的堆 以下是一些截图MAT http www eclipse org mat Dominator tree with 2 pretty big bi
  • 关于 .NET 组件访问电子邮件收件箱的建议 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我被要求用 C 编写一个 Windows 服务来定期监视电子邮件收件箱并将收到的任何消息的详细信息插入数据库表中 我的本能是通过 POP3
  • C++ ARMA方法和回归分析

    是否有任何 C 库可以实现 ARMA 方法及其变体 我希望有一个成熟的发行版来进行此类分析 我不知道有任何本地 C 库可以计算 ARMA 模型 但是 如果对您而言便利性比原始性能更重要 您可以间接做到这一点 Use R http www r
  • 包含跨语言基准的资源?

    有哪些资源可以使用基准来比较编程语言 我对两者都感兴趣 给定语言的程序执行给定基准测试的速度有多快 给定语言需要多少行代码才能实现给定基准 有一个历史悠久的网站 https benchmarksgame team pages debian
  • 如何使用 SQLAlchemy 查明惰性关系是否尚未加载?

    使用 SQLAlchemy 有没有办法预先知道关系是否会延迟加载 例如 给定一个惰性父 gt 子关系和 parent 的实例 X 我想知道 X children 是否已加载 而不触发查询 您可以从以下位置获取所有已卸载属性 关系和列 的列表