I tried
names.select (exists ([names.c.id],
and_(names.c.id == obj_tags.c.name_id,
obj_tags.c.parent_id==Taggable.c.id ,
Taggable.c.id == query.compile() )
however, I am getting too many fields back with the error
"subquery must return only one column"
Any suggestion on how to ask for only the id column?
Thanks,
Kris
On Nov 27, 8:32 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
> On Nov 27, 2007, at 8:18 PM, kris wrote:
>
>
>
>
>
> > I am trying to do a select on the results an ORM subquery.
>
> > The following query is prepared in one part the program
> > query = session.query(Taggable).filter (....)
>
> > Elswere I try to get the unique names associated with all previously
> > selected
> > Taggable obects.
>
> > names.select (exists ([names.c.id],
> > and_(names.c.id == obj_tags.c.name_id,
> > obj_tags.c.parent_id==Taggable.c.id ,
> > Taggable.c.id in query)
> > ^^^^^^^^^^^^^
>
> > Unfortunately, I have not found the solution to the marked expression,
> > which I think can be expressed as a subquery.
>
> > Is this possible? Is there a way to pull the select expression out of
> > the ORM
> > query object?
>
> at the moment you can pull it out by saying query.compile(), which
> will give you a select(). we do have a trac ticket that would
> actually provide a "query" operator on Query which would automatically
> wrap the current selection in a subquery and continue to query from
> there so we might be adding that feature eventually.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---