with_entities() will give you this: http://docs.sqlalchemy.org/en/rel_0_7/orm/query.html#sqlalchemy.orm.query.Query.with_entities
On Oct 24, 2012, at 11:21 AM, Ladislav Lenart wrote: > Oh, you are right of course. This works, however I would still like to > transform > the query programmatically (mainly out of curiosity) from > >>> q = session.query(Person).order_by(Person.name) >>> q = q.filter(Person.age > age) >>> return q > > to > >>> q = session.query(func.count(Person.id)) >>> q = q.filter(Person.age > age) >>> return q > > (I am not sure if the order_by part can remain or not.) > > Is this possible somehow? I am pretty sure I read something along these lines > but cannot find it anywhere. > > > Ladislav Lenart > > > On 24.10.2012 17:10, Simon King wrote: >> On Wed, Oct 24, 2012 at 3:59 PM, Ladislav Lenart <lenart...@volny.cz> wrote: >>> Hello. >>> >>> Suppose I have the following query: >>> >>> def people_older_than(age): >>> q = session.query(Person).order_by(Person.name) >>> q = q.filter(Person.age > age) >>> return q >>> >>> It returns a subset of Person instances. How can I augment the query so it >>> returns only their count? I.e.: >>> >>> def number_of_people_older_than(age) >>> q = people_older_than(21) >>> q_count = q # Apply some magic here. >>> return q_count.scalar() >>> >>> >>> Thank you in advance, >>> >>> Ladislav Lenart >>> >> >> I don't think any magic is required. Does this work for you: >> >> def number_of_people_older_than(age) >> q = people_older_than(age) >> return q.count() >> >> See also http://docs.sqlalchemy.org/en/rel_0_7/orm/tutorial.html#counting >> >> Simon > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalchemy@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. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@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.