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.