我有以下类层次结构(使用具有声明性基础的SQLAlchemy):
class Item(DeclarativeBase):
name = Column(String(30))
class DetailsMixin(object):
details = Column(String(300))
class AItem(Item):
...
class BItem(Item, DetailsMixin):
...
class CItem(Item, DetailsMixin):
...
class Something(DeclarativeBase, DetailsMixin)
...
是否可以使用with_polymorhpic
获取所有项目并加载details
列(如果存在),但是没有明确命名继承DetailsMixin
的类的名称?
答案 0 :(得分:0)
with_polymorphic(base = Item, classes = '*')
将加载从Item
继承的所有类,至少在评估__mapper__
参数时可见。因此,继承mixin的类将作为其实际类加载,因此具有它们的混合列。
如果您正在询问如何根据mixin列执行查询而无需明确命名从DetailsMixin
继承的类,那么我仍然需要弄清楚我。但澄清你的问题可能有助于解答。