Hi, I'm trying to use polymorphic_on with several inheritances:
engine = create_engine( 'mysql://xxx:y...@localhost:3306/zzz?charset=utf8&use_unicode=0', pool_recycle=3600, echo=True) Base = declarative_base() class AbstractPersistent(object): version = Column('VERSION', Integer) last_modified_by = Column('LAST_MODIFIED_BY', String(255)) last_modified_date = Column('LAST_MODIFIED_DATE', Date) created_by = Column('CREATED_BY', String(255)) created_date = Column('CREATED_DATE', Date) class AbstractNamed(AbstractPersistent): eid = Column('ENTERPRISE_ID', String(255)) title = Column('TITLE', String(255)) description = Column('DESCRIPTION', String(255)) class AbstractContainer(AbstractNamed): __tablename__ = 'CM_MEMBER_CONTAINER_T' id = Column('MEMBER_CONTAINER_ID',Integer,primary_key=True) discriminator = Column('CLASS_DISCR', String(100)) __mapper_args__ = {'polymorphic_on': discriminator } class CourseSet(Base,AbstractContainer): __mapper_args__ = {'polymorphic_identity': 'org.sakaiproject.coursemanagement.impl.CourseSetCmImpl'} As you can see, `CourseSet` contains all the columns of its parents and has the column `CLASS_DISCR` sets to `'org.sakaiproject.coursemanagement.impl.CourseSetCmImpl'`. But when it make a query fro all `CourseSet`: Session = sessionmaker(bind=engine) session = Session() course_sets = session.query(CourseSet).all() print(course_sets) It returns all the entries of `'CM_MEMBER_CONTAINER_T'`, but I want only the ones with `CLASS_DISCR` set to `'org.sakaiproject.coursemanagement.impl.CourseSetCmImpl'` Any ideas ? I'm using version 0.6.4 Julien. -- "Trouble-a-cat limited" -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.