A lambda function is just an anonymous function (i.e., one you define in
place without naming it). The common_filter does not have to be a lambda
function -- it can be any callable object that takes a single argument and
returns a Query object. So, you could do:
def my_common_filter(query):
return db.blog_post.is_public == True
db.blog_post._common_filter = my_common_filter
When the common filter function is called, the current query will be passed
to it. In the above example, that query argument is ignored, but in theory,
you could inspect that query argument and have the return value depend on
it somehow. The final query will end up being a conjunction of the original
query and the return value of the common filter function.
Anthony
On Friday, July 3, 2015 at 12:00:22 PM UTC-4, Paolo Amboni wrote:
>
> Can someone translate the expression
>
> db.blog_post._common_filter = *lambda query:* db.blog_post.is_public ==
> True
>
> *without the use of lambda function?*
>
> I'm trying to understand how to set up common filter in controller but
> lambda function always confuse me.
>
> *So, for now, the only way to set the filter is to copy the code without
> understanding it!!*
>
--
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.