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.

Reply via email to