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

时间:2013-07-01 23:29:19

标签: python sqlalchemy

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

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?
        }

1 个答案:

答案 0 :(得分:1)

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

sess.query(MySubClass).all()

如果您要查询Some个对象(即您的基础),这意味着您需要的对象类型为MySubClass,因此需要进行OUTER连接那里。