0

如何设置默认的多态内连接?

class Some(Base):
    __tablename__ = 'some'
    @declared_attr
    def __mapper_args__(cls):
        return  {'polymorphic_identity': '%s' % cls.__tablename__,
                 'polymorphic_on': cls._type,
                 'with_polymorphic': '*',
                 'polymorphic_innerjoin': True # how to do it?
        }
4

1 回答 1

1

如果您实际上专门查询该类型,则使用 INNER 连接,with_polymorphic不需要:

sess.query(MySubClass).all()

如果您正在查询Some对象(即您的基础),这意味着您想要也不是 type 的对象MySubClass,因此需要一个 OUTER 连接。

于 2013-07-03T20:34:06.390 回答