在SQLAlchemy中获取相关模型

2024-05-23

我有各种模型链接在SQL炼金术 http://en.wikipedia.org/wiki/SQLAlchemy(有很多,属于,等等)。有没有办法找到给定实例的相关模型?

就像是:

usersModelInstance.getRelatedTables() // This should provide an array or something with the related tables of users (orders, logins, posts, etc.).

我不太确定你想要什么——表列表还是映射类列表?

无论哪种情况,首先为您的映射构建属性列表object:

# Import sqlalchemy so we can use it
import sqlalchemy as sa

# Rename the OP's object to `obj`
obj = usersModelInstance

# Build a list of only relationship properties
relation_properties = filter(
    lambda p: isinstance(p, sa.orm.properties.RelationshipProperty),
    sa.orm.object_mapper(obj).iterate_properties
)

请注意,您可以使用sa.orm.class_mapper(cls)如果你不这样做,则可以运行 当前拥有一个实体的句柄instance,但只是一个映射类。

现在,在第一种情况下,您想要相关的列表tables, do:

related_tables = [prop.target for prop in relation_properties]

在第二种情况下,您可能需要相关映射类的列表, 做:

related_classes = [prop.mapper.class_ for prop in relation_properties]

希望这可以帮助您入门。

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

在SQLAlchemy中获取相关模型 的相关文章

随机推荐

  • 如何将所有GET请求查询参数放入Go中的结构体中?

    你好 我想将 get 查询参数转换为 Go 中的结构 例如我有这样的结构 type Filter struct Offset int64 json offset Limit int64 json limit SortBy string js
  • 如何使用 Java 以正确的编码检索 HTML 页面?

    如何使用页面编码中的 HTML 页面读取 HTTP 流 这是我用来获取 HTTP 流的代码片段 输入流读取器有编码可选参数 但我不知道如何获取它 URLConnection conn url openConnection InputStre
  • Cloud Run:429:请求被中止,因为没有可用的实例

    我们 作为一家公司 每天都会经历巨大的峰值 我们使用 Pub Sub gt Cloud Run 组合 我们遇到的问题是 当高流量到来时 Pub Sub 会尝试在没有任何流量控制的情况下同时将消息推送到 Cloud Run 结果 429 由于
  • 从 Penn Treebank 格式的文本中提取子句

    说我有一句话 After he had eaten the cheese Bill went to the grocery 在我的程序中 我得到以下输出 PARSE TREE ROOT S SBAR IN After S NP PRP he
  • Java中读取图像文件的方式有什么区别?

    在java中读取图像文件有多种方法 例如BufferedImage and ImageIcon仅举几例 我想知道这些情况有什么区别 它们是否依赖于上下文 在特定情况下只能使用其中一个 阅读所选图像的最佳方式是什么JFileChooser由用
  • 是检测异常并抛出它们还是让运行时抛出它们更好?

    假设有这样的设置 public class MyClass public void DoSomething string Data if String IsNullOrWhiteSpace Data throw new NullRefere
  • 如何单击并验证弹出窗口(警报)是否存在

    我正在使用硒 当尝试单击按钮时 它会创建弹出窗口 警报 并且不返回页面对象 因此 我不能单独使用 click 因为此方法需要一个页面对象 并最终因超时而失败 我可以使用 chooseOkOnNextConfirmation 但这将单击弹出窗
  • TFS - 删除本地文件后最新字段仍显示“是”

    在 TFS 源代码管理资源管理器中 即使我已删除所有本地文件 我的项目在最新字段中仍标记为 是 有没有办法重新评估该列 使其再次显示 未下载 如果您想从本地文件系统 例如使用 Windows 资源管理器 删除文件并将源代码管理资源管理器中的
  • OS X Cocoa 自动布局隐藏元素

    我正在尝试使用新的自动布局 http developer apple com library mac documentation UserExperience Conceptual AutolayoutPG Articles Introdu
  • 为什么使用 1<<4 而不是 16?

    OpenJDK 代码为java util HashMap包括以下行 static final int DEFAULT INITIAL CAPACITY 1 lt lt 4 aka 16 Why is 1 lt lt 4在这里使用 而不是16
  • JQuery 颜色盒

    如何在没有事件绑定的情况下在页面加载时显示 Colorbox 更简单地说 我希望 Colorbox 在页面加载时立即加载 这是我目前正在使用的 Colorboxhttp colorpowered com colorbox http colo
  • 如何在 Python 2.7 中编写 unicode csv

    我想将数据写入文件 其中 CSV 中的行应如下所示 直接来自 Python 控制台 row xef xbb xbft 11651497 http kozbeszerzes ceu hu entity t 11651497 xml Szabo
  • 向Kademlia添加新节点,构建Kademlia路由表

    我无法完全理解 Kademlia DHT 的加入过程 我在网上看过一些教程和演示文稿 但它们似乎都以相同的方式说事 并且所有伪代码等在大多数情况下都是相同的 实际复制 粘贴 有人可以对此进行高水平的演练吗 我假设您已经阅读过木兰纸 http
  • 将自动递增值添加到只有一列的表中

    我需要创建一个基本上仅保留索引列表的表 因此 我创建了一个只有一个名为 id 的自动递增列的表 但是 我似乎无法隐式地将自动递增值添加到该表中 我知道通常当您在表中有这样一列 不仅仅是此列 时 您可以执行以下操作 插入表 col1 col2
  • PreRequestHandlerExecute 中的会话为空

    在我的 ASP NET 4 0 应用程序中 我在 global asax cs 中有一个 PreRequestHandlerExecute 的事件处理程序 我想访问会话中的数据 大多数时候 会话是被定义的 但有时它是空的 有人可以解释一下什
  • 为什么 Date.parse 给出不正确的结果?

    案例一 new Date Date parse Jul 8 2005 Output 2005 年 7 月 8 日星期五 00 00 00 GMT 0700 太平洋标准时间 案例二 new Date Date parse 2005 07 08
  • 如何查看 Realm ObjectId 是否等于 String (JavaScript)

    我正在使用 MongoDB 的 Realm 并尝试查看 ObjectId 是否等于具有相同字符的字符串 我尝试将 ObjectId 转换为字符串 反之亦然 但无论我尝试什么 它都不会将它们视为相等 即使这些值完全相同并且当我记录它们时它们看
  • 如何从 Tkinter 文本框中获取索引

    我希望能够从 Tkinter 文本框中突出显示的文本中获取索引 如 1 1 有什么想法吗 所选文本具有标签 sel 所选文本的开始和结束范围定义为 sel first and sel last 如果你想获取文本 可以直接使用它们 如下所示
  • Zurb Foundation 5 揭示模态不起作用

    我正在尝试使用 zurb Foundation 5 Reveal 模式 但当我单击按钮时它不起作用并且无法打开 我正在使用这个 html 代码
  • 在SQLAlchemy中获取相关模型

    我有各种模型链接在SQL炼金术 http en wikipedia org wiki SQLAlchemy 有很多 属于 等等 有没有办法找到给定实例的相关模型 就像是 usersModelInstance getRelatedTables