why not just say session.query(MyObj, q.alias()) ? creating ad-hoc mappers is relatively expensive.
On Apr 25, 2013, at 8:56 AM, Richard Gerd Kuesters <rich...@humantech.com.br> wrote: > Well, probably nevermind because I made a workaround that satisfies me (may > not be elegant, but that's OK). > > Basically, I created the "o" type a little different: "o = type('MyObjExt', > (Base,), {'__table__':q.alias('q')})" and append it to the query like: > "session.query(MyObj, o).from_statement(q).all()" > > Okay, now it returns a typle, but at least I don't have to make a second > query :) > > > Cheers, > Richard. > > On 04/25/2013 09:41 AM, Richard Gerd Kuesters wrote: >> Hi all, >> >> I've been playing with "sqla_hierarchy" from >> https://github.com/marplatense/sqla_hierarchy . >> >> The problem is: the returned query appends 3 columns: level (Integer), >> is_leaf (Boolean) and connect_path (pg ARRAY). >> >> So far, so good. If I execute the query using >> "session.execute(q).fetchall()", it works like a charm. But, as we know, >> "session.execute" returns a RowProxy, not objects. Using >> "session.query(MyObj).from_statement(q).all()", I'm able to get my mapped >> objects, but without the extra columns that would make me very pleased >> (level, is_leaf, connect_path). Is there a way to get around this? >> >> I have done testings using "o = type('MyObjExt', (MyObj,), {'__table__': q}" >> and them use it on the session.query, *but* it looses foreign key references >> - or, well, I don't know how to "explain" this to the mapper (?), since >> MyObj is polymorphic (probably the pitfall?). >> >> >> Thanks for your time and help. >> >> Best regards, >> Richard. >> -- >> You received this message because you are subscribed to the Google Groups >> "sqlalchemy" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sqlalchemy+unsubscr...@googlegroups.com. >> To post to this group, send email to sqlalchemy@googlegroups.com. >> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> > > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.