SQLAlchemy继承层次结构中的多级抽象具体基础

时间:2018-02-05 15:20:10

标签: python orm sqlalchemy polymorphism

我希望能够在多个级别查询继承层次结构中的实体(表)。

也就是说,如果我有

Base---------------------------------| | | Child1----------| | | | | Child2 Child3 Child4 其中Base和Child1是抽象的(即未映射到表格);
我想查询表Child2Child3Child4BaseChild2Child3到{{1}的实体}。

问题是,我认为在层次结构中有多个Child1类是不可能的。所以我必须选择能够在AbstractConcreteBaseBase上进行多态查询。

有办法做到这一点吗?另一种模式,可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为解决方案是joined-table inheritance

每个抽象级别都映射到一个实际的表,该表只包含特定于该级别的列。 SQLAlchemy负责生成正确的JOIN以从每个表中获取数据。