On Sunday, September 13, 2009, Michael Bayer <mike...@zzzcomputing.com> wrote: > > > On Sep 13, 2009, at 5:32 AM, Eric Lemoine wrote: > >> >> Hello list >> >> I have a simple mapping between a class and a table. What I'd like to >> be able to do is dynamically change the query selection (based on some >> HTTP param). More precisely I'd like that the ORM generate >> >> SELECT some_sql_function(col1), col2, col3 FROM ... >> >> instead of the default >> >> SELECT col1, col2, col3, FROM ... >> >> And, as I said, I'd like this to be dynamic, so I don't want this to >> be hardwired in my mapping definition. Is this possible? >> >> Thanks a lot, > > > the most straightforward way is to use the Query in that fashion: > > query(func.some_sql_function(MyClass.col1), MyClass.col2, MyClass.col3) > > However, i suspect you might be wanting to load MyClass instances with > the value of "col1" replaced.
you guessed correctly > it might be easiest just to say: > > query(func.some_sql_function(MyClass.col1), MyClass) > > and then manually piece together the first column onto the instances > as they are received. I think I'll go with that. Thanks Michael. > > The third way which is the least visually appealing is to use > query.from_statement(), rows from any statement you pass within will > be mapped to the columns based on names. the statement within can > be a select() construct or a string, or you can even use another Query > () and then call "query.statement" on it to get at the select(). > > > > > -- Eric Lemoine Camptocamp France SAS Savoie Technolac, BP 352 73377 Le Bourget du Lac, Cedex Tel : 00 33 4 79 44 44 96 Mail : eric.lemo...@camptocamp.com http://www.camptocamp.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---