我希望能够在多个级别查询继承层次结构中的实体(表)。
也就是说,如果我有
Base---------------------------------|
| |
Child1----------| |
| | |
Child2 Child3 Child4
其中Base和Child1是抽象的(即未映射到表格);
我想查询表Child2
,Child3
和Child4
到Base
,Child2
和Child3
到{{1}的实体}。
问题是,我认为在层次结构中有多个Child1
类是不可能的。所以我必须选择能够在AbstractConcreteBase
或Base
上进行多态查询。
有办法做到这一点吗?另一种模式,可能吗?
谢谢!
答案 0 :(得分:0)
我认为解决方案是joined-table inheritance。
每个抽象级别都映射到一个实际的表,该表只包含特定于该级别的列。 SQLAlchemy负责生成正确的JOIN
以从每个表中获取数据。