q.all()._asdict() It does not work. It is a kind of a mental shortcut (sorry for that!). It is only possible in (like you said): for r in q.all(): r._as_dict()
Thank you for your reply! I had hope that I don't have to do any casting or explicity query enumerate. W dniu czwartek, 20 października 2016 19:11:56 UTC+2 użytkownik Jonathan Vanasco napisał: > > I'm sorry, I totally misunderstood your question. I thought you were > trying to get all rows as a unified dict. Your result clarified things. > > It looks like you're using the ORM (and not core), right? > > I don't think it is entirely possible to do what you want. Several people > have asked similar questions in the past... you essentially want > SqlAlchemy to return somewhat raw data. > > The problem isn't with the `join`, it's with the `query`. > > This bit: > > query(table1.t1c2, table2) > > Is instructing SqlAlchemy to return a tuple that contains those two > discrete "objects" - the first being a column of `table1`, the second being > a instance of `table2` (or a row). The ORM is then mapping table2 onto an > object. > > To *somewhat* achieve your goal and avoid the object creation, you can > explicitly enumerate your query: > > r = db.session.query(Table1.t1c2, Table2.t2c1, Table2.t2c2, > Table2.t2c3).join(Table2).all() > > That will return an iterator of 3 element tuples in that order: > > [(u'one', 11, u'qwe', 1), > (u'two', 22, u'rty', 2), > (u'one', 33, u'zxcvb', 1) > ] > > You can cast each one into a dict individually: > > for row in r: > print row._as_dict() > > will generate: > > {'t1c2': u'one', 't2c3': 1, 't2c2': u'qwe', 't2c1': 11} > {'t1c2': u'two', 't2c3': 2, 't2c2': u'rty', 't2c1': 22} > {'t1c2': u'one', 't2c3': 1, 't2c2': u'zxcvb', 't2c1': 33} > > That brings me to this point -- can you share a self-contained example of > your code? > > I can't figure out how you're getting `q.all()._asdict()` to work. It > shouldn't work, because the result should be an iterable/list that does not > have that method. > > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- 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 https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.