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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to