On Apr 4, 2008, at 2:43 PM, Rick Morrison wrote:
> > Wouldn't this kind of feature be more natural to include in the > Query constructor itself, to make Query() somewhat orthogonal with > select()? > > i.e. > session.query([MappedObject.id, > MappedObject.name]).filter(...).all() > > instead of > > session.query(MappedObject).filter(...).values(MappedObject.id, > MappedObject.name).all() > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en > -~----------~----~----~----~------~----~------~--~--- > right now, its because something like this: sess.query(MappedObject.id, SomeOtherObject.foo, SomeThirdObject.somethingelse).join('foo') is ambiguous. The query's notion of "mapper zero" is a significant factor in how it works right now. So I like that the Query() has an explicit "mapper zero", which when mapper-zero-like functions like join(), with_polymorphic(), eagerload(), deferred(), etc. etc. are called, theres no guesswork, or rules like "the first column determines the 'main' table". I havent seen anyone propose any other ways around that concept, but whatever we come up with I would like to keep things as simple as possible...i think the assumption that Query always has a "root" table has held up pretty well. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---