This is not the intended purpose of show_if. It is only used to dynamically 
hide or show fields in the form, based on the values of other fields in the 
form (so, the query must refer to other fields in the same table). 
Ultimately, the query does not hit the database but is simply converted to 
Javascript for use in the browser.

In this case, it looks like you simply what to control whether a given 
field appears in the form based on the user's Auth role, so you probably 
want something like:

db.table.field.readable = db.table.field.writable = auth.has_membership(2) 

Anthony

On Monday, June 20, 2016 at 5:53:27 PM UTC-4, Bernardo Leon wrote:
>
> Hi, a am using show_if to show a field only if the user is a member of a 
> certain group, I am using this query:
>
> *db.table.field.show_if = **(db.auth_membership.user_id == auth.user_id) 
> & (db.auth_membership.group_id == 2)*
>
> but it gives me this error: 'Query' object has no attribute 'tablename'
>
> What is the problem?
>
> Thanks in advance!
>

-- 
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