我有一个如下所示的声明类结构:
class BaseClass(Base):
Column A
Column B
class Mixin(object):
Column C
class ItemA(BaseClass):
Column D
class ItemB(Mixin, BaseClass):
pass
class ItemC(Mixin, BaseClass):
Column E
有没有一种方法可以使用with_polymorphic
,这样我就可以在所有Items
中基于Column C
进行查询,而不必明确知道我有什么Item
?基本上像是
假设在导入时,MixinClass
的所有派生都将在声明with_polymorphic
之前导入。在
编辑 请注意,我省略了联接表继承的样板,但是假设它已经正确地设置为这样做
poly_base = with_polymorphic(base = BaseClass, classes = '*')
session.query(poly_base).filter(BaseClass.a == value, ...)
按预期执行查询BaseClass
中的列。关键是能够以相同的方式查询继承Mixin
类的子类中的公共列。在
末尾查询:
^{pr2}$相关问题 更多 >
编程相关推荐