我有如下的类层次结构(使用带有声明基类的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的类的名称
发布于 2014-03-08 06:31:45
with_polymorphic(base = Item, classes = '*')将加载从Item继承的所有类,至少在计算__mapper__参数时可见的类。因此,继承您的mixins的类将被加载为它们的实际类,因此具有它们的mixed-in列。
如果您正在询问如何基于该mixin列执行查询,而不必显式地命名从DetailsMixin继承的类,那么这是我自己仍在努力解决的问题。但澄清你的问题可能会对答案有所帮助。
https://stackoverflow.com/questions/20968641
复制相似问题