That's what I do in most circumstances. In this case I'm building a more 
complicated query and was hoping to do something like

sess.query(Employee).filter(
    or_(
        and_(isclass(Manager), Manager.name.startswith('Jo')),
        and_(isclass(Engineer), 
Engineer.engineer_info.startswith('Design')),
        ...
        ...
    )
)

instead of performing multiple queries.        

On Wednesday, May 30, 2018 at 12:50:40 PM UTC-5, Mike Bayer wrote:
>
> On Wed, May 30, 2018 at 12:39 PM, Derek Lambert 
> <dlam...@dereklambert.com <javascript:>> wrote: 
> > Outside of checking the discriminator value is it possible to filter a 
> query 
> > by a class in an inheritance mapping? 
> > 
> > class Employee(Base): 
> >     __tablename__ = 'employee' 
> >     id = Column(Integer, primary_key=True) 
> >     name = Column(String(50)) 
> >     type = Column(String(20)) 
> > 
> >     __mapper_args__ = { 
> >         'polymorphic_on':type, 
> >         'polymorphic_identity':'employee' 
> >     } 
> > 
> > class Manager(Employee): 
> >     manager_data = Column(String(50)) 
> > 
> >     __mapper_args__ = { 
> >         'polymorphic_identity':'manager' 
> >     } 
> > 
> > class Engineer(Employee): 
> >     engineer_info = Column(String(50)) 
> > 
> >     __mapper_args__ = { 
> >         'polymorphic_identity':'engineer' 
> >     } 
> > 
> > and then query something like: 
> > 
> > engineers = session.query(Employee).filter(isclass(Engineer)).all() 
>
> I'm sure you know the easiest way is query for that class: 
>
> sess.query(Engineer).all() 
>
>
> short of that you can try changing the entitiy: 
>
> sess.query(Employee).with_entities(Engineer).all() 
>
>
>
>
> > 
> > -- 
> > SQLAlchemy - 
> > The Python SQL Toolkit and Object Relational Mapper 
> > 
> > http://www.sqlalchemy.org/ 
> > 
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > description. 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sqlalchemy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sqlalchemy+...@googlegroups.com <javascript:>. 
> > To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to