Database SQLAlchemy查询

Database SQLAlchemy查询,database,sqlalchemy,Database,Sqlalchemy,我正在开发一个web应用程序和一个数据库,它处理以下内容 实体:计算机、计算机容器(计算机集合)和规则。信息技术 防火墙管理工具。我在处理一些问题 计算机对象,因为这些计算机存储在计算机集中 与不包含在同一文件中的计算机不相同 计算机集:独立计算机可以在规则中,但 计算机集计算机不能在规则中,即只有容器是 被允许遵守规则(我知道我知道,这是一团糟,但我没有 创建防火墙,我只是在编写一个管理工具:) 我创建了一个DB(使用SQLite),我正在使用SQLAlchemy。因此,我创造了 计算机、计算

我正在开发一个web应用程序和一个数据库,它处理以下内容 实体:计算机、计算机容器(计算机集合)和规则。信息技术 防火墙管理工具。我在处理一些问题 计算机对象,因为这些计算机存储在计算机集中 与不包含在同一文件中的计算机不相同 计算机集:独立计算机可以在规则中,但 计算机集计算机不能在规则中,即只有容器是 被允许遵守规则(我知道我知道,这是一团糟,但我没有 创建防火墙,我只是在编写一个管理工具:)

我创建了一个DB(使用SQLite),我正在使用SQLAlchemy。因此,我创造了 计算机、计算机集、计算机集、规则和 相应的表格 . 现在,在我的应用程序中,我需要列出所有这些计算机对象。 但是,当我查询computers表时,我会得到计算机对象和 当我查询computerset\u computers表时,我得到ComputerSetComputer 物体。我想得到一个包含我所有 计算机,无论它们是否属于计算机组。这 这样,我就可以分割查询对象并进行分页。有什么想法吗?我可以改变我的数据库设计,虽然我不能改变计算机的基本概念, 规则等

谢谢你抽出时间,
gsandrox:)

我认为有两种方法可以解决这个问题:在低级查询中使用union或在模型定义中使用继承。我认为后者更方便,因为您可以从查询中获取模型对象。假设您有
ComputerBase
抽象类和两个子类
Computer
ComputerSetComputer
session.query(ComputerBase).all()
将返回所有
Computer
ComputerSetComputer
对象的混合列表。

是否询问如何在包含“Computer”的两个表之间进行并集?请提供您试图结合的内容的相关代码。看起来有人在邮件列表上回答了您的问题。供参考: