2013-07-01 20 views
0

如何设置默认多态innerjoin?Sqlalchemy。如何设置默认多态的innerjoin?

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

内连接,如果你真的该类型的查询中明确使用,没有with_polymorphic需要:

sess.query(MySubClass).all() 

如果你要查询Some对象(即你的基地),这意味着你要的对象这也是而不是的类型MySubClass,所以需要一个外部连接。