On Tuesday, April 10, 2018 at 3:14:06 PM UTC-7, Yoel Benitez Fonseca wrote: > > Is this not working any more ? > > >>> q = (db.photo.id == 1) > >>> db(q.as_dict(flat=True)).select() > File "<string>", line unknown > SyntaxError: Operator not supported: eq > > That is in a web2py shell,i mean is the same thing passing around the > query in the session as a dict, is not ? >
The following works: >>> q = (db.photo.id == 1) >>> db(q).select().as_dict() as_dict() and as_list() are defined as operating on a Rows object. q is a query object. <URL:http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#as_dict-and-as_list> flat=True gives an unexpected keyword argument error. .../pydal/base.py line 631 defines as_dict() for tables with flat and sanitize args, so you can do db(q).as_dict(flat=True) and get a query object dict (as it looks to me) but trying to put that back into db() fails. (I tried with 2.15.4) /dps El miércoles, 7 de diciembre de 2016, 14:56:20 (UTC-5), Anthony escribió: > > On Wednesday, December 7, 2016 at 9:33:16 AM UTC-5, Marlysson Silva wrote: >> >> You can use sessions.. >> >> session.content = query_search >> > > A Query object can't be pickled to store it in the session, but you can > first convert to a dictionary: > > session.search_query = search_query.as_dict(flat=True) > > Then in the second function: > > db(session.search_query).select() > > Anthony > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

