Thank you very much, from_self() works a treat! On 06/28/2010 04:47 PM, Michael Bayer wrote:
On Jun 28, 2010, at 5:23 AM, Sebastian Elsner wrote:Hello, I build a query to filter a table depending on options a user can specify. So I have a working query to execute when all GUI elements (which provide the filter information) are evaluated. What I do is asking for the GUI elements value and depending on that I modify the query: class Project(Base): __tablename__="Project" id= Column(Integer,primary_keys=True) status_id=Column(Integer) q = sess.query(Project) if checkbox: q.filter(Project.id == 1) if checkbox2: q.filter(Project.id == 2) ... and so on. this works fine. Now I would like to provide the user with an overview on what was filtered: So basically I want to use a group_by and count to show how many Projects there are for each status_id. This is from the docs (ormtut) and does what I want, except I want to apply this to an existing query (or the result of one - don't care) session.query(func.count(User.name),User.name).group_by(User.name).all() How would this be possible?if from a SQL perspective you're looking for taking a query like "SELECT * FROM ..." and turning it into "SELECT count(*) FROM (SELECT * FROM ...) GROUP BY ...", i.e. turning it into a subquery, the from_self() method of Query is designed for that purpose, you might check the docs for that. if OTOH you just want some ad-hoc columns from a Query, you can use values() for that. http://www.sqlalchemy.org/docs/reference/orm/query.html?#sqlalchemy.orm.query.Query.from_self http://www.sqlalchemy.org/docs/reference/orm/query.html?#sqlalchemy.orm.query.Query.values It would be nice if all these methods had mini-examples at some point in the docs...
-- Sebastian Elsner - pipeline td - r i s e | fx t: +49 30 20180300 [email protected] c: +49 175 3365739 www.risefx.com r i s e | fx GmbH Schlesische Strasse 28 Aufgang B, 10997 Berlin Geschäftsführer: Sven Pannicke, Robert Pinnow Handelsregister Berlin HRB 106667 B -- 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.
