Yes: 
http://web2py.com/books/default/chapter/29/07/forms-and-validators#Database-validators

On Thursday, October 16, 2014 5:02:16 PM UTC-4, Álvaro José Iradier wrote:
>
> Thanks, perfect, that was just what I was looking for!
>
> Is that in the book or the docs somewhere?
>
>
> On Thursday, October 16, 2014 8:29:37 PM UTC+2, Anthony wrote:
>>
>> You can pass the format as the third argument to the validator:
>>
>> IS_IN_DB(db(db.gang_users.gang == gang.id), db.gang_users.nickname, db.
>> gang_users._format)
>>
>> Anthony
>>
>> On Thursday, October 16, 2014 2:02:02 PM UTC-4, Álvaro José Iradier wrote:
>>>
>>> Hi, I have a field in table 'expenses' defined as:
>>> db.define_table('expenses',
>>>                 Field('gang', db.gangs, required=True, notnull=True),
>>>                 ...
>>>                 Field('payer', db.gang_users, label=T('Payer')),
>>>                 ...
>>>
>>> Table gang_users has a format like:
>>>
>>> db.define_table('gang_users',
>>>                 Field('gang', db.gangs, required=True, notnull=True),
>>>                 Field('auth_user', db.auth_user, required=True, 
>>> notnull=True),
>>>                 Field('nickname', 'string', required=False, 
>>> notnull=False),
>>>                 format = lambda r: "%s (%s)" % (r.auth_user.email, 
>>> r.nickname) if r.nickname else r.auth_user.email
>>> )
>>>
>>> When the "payer" field is shown in a SQLFORM, it will display a dropdown 
>>> with the list of users from the table gang_users, formatted according to 
>>> the "auth.user.email (nickname)" rule defined in the format parameter of 
>>> gang_users table.
>>>
>>> However, I want to filter out this users, by doing in the controller:
>>>
>>> db.expenses.payer.requires = IS_IN_DB(db(db.gang_users.gang == gang.id), 
>>> db.gang_users.nickname)
>>>
>>> When the validator is set, only users from the given gang are displayed 
>>> in the dropdown, but I can display the nickname or id or any column from 
>>> the gang_users table. I would like to keep the "auth_users.email 
>>> (gang_users.nickname)" format as without the validator.
>>>
>>> Is it possible?
>>>
>>> Thanks very much.
>>>
>>> -- 
>>> (:=================================:)
>>>  Alvaro J. Iradier Muro - aira...@gmail.com 
>>>
>>

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