Thank you Anthony for your help, 
The problem now is this: 
<type 'exceptions.RuntimeError'> Too many tables selected
Can be a problem that I'm over GAE?

On Tuesday, May 7, 2013 3:43:32 PM UTC+2, Anthony wrote:
>
> yes, you are right, db.auth_user will return all the users table.
>
> please try to change 
>> Field('hotel_chain_manager', db.auth_user)
>> into
>> Field('hotel_chain_manager', 'reference auth_user', 
>> default=auth.has_membership('Admin'))
>>
>
> He wants to limit the options shown in the dropdown, not set a single 
> default value (also, auth.has_membership() returns True/False, not a user 
> ID).
>
> When you specify a reference field, you get a default IS_IN_DB validator, 
> but you can explicitly define your own, which enables you to specify a Set 
> object as the first argument to limit the records displayed (see 
> http://web2py.com/books/default/chapter/29/07#Database-validators):
>
> Field('hotel_chain_manager', 'reference auth_user',
>       requires=IS_IN_DB(db((db.auth_user.id == db.auth_membership.user_id) 
> &
>                            (db.auth_group.id == db.auth_membership.
> group_id) &
>                            (db.auth_group.role == 'Admin')),
>                         'auth_user.id', db.auth_user._format),
>       represent=lambda id, row: db.auth_user._format % row)
>
> Note, when you explicitly specify the "requires" of a reference field, you 
> lose the default "represent" attribute, so you have to add that explicitly 
> as well.
>
> Anthony
>
>>

-- 

--- 
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/groups/opt_out.


Reply via email to