What doesn't work exactly? With self references, you have to define your
own validator and represent attribute because the table doesn't yet exist
at the time the Field is created.
Anthony
On Friday, May 3, 2013 12:22:56 PM UTC-4, Nguyen Minh Tuan wrote:
>
> Hi Anthony,
>
> This is seem not work in case self reference.
> Ex :
> Field('boss', 'reference auth_user')
>
> How can I solve in this situation?
>
> Thanks,
>
>
> On Monday, October 8, 2012 9:17:49 AM UTC+7, dave wrote:
>
>> Thank you very much, I did not see this in the documentation and yes it
>> would be nice if it is consistent with your expectation
>>
>> On Sunday, October 7, 2012 6:25:09 PM UTC-7, Anthony wrote:
>>>
>>> If you do:
>>>
>>> Field('test1', 'reference ranking')
>>>
>>> and then make sure the "format" attribute of the "ranking" table is set
>>> to '%(name)s', then the "test1" field will automatically get the IS_IN_DB
>>> validator you have explicitly defined below, and it will automatically get
>>> a "represent" attribute displaying the "name" value from the "ranking"
>>> table. However, if you explicitly define your own "requires" attribute,
>>> then you don't get the automatic "represent" attribute, and you have to
>>> explicitly define that as well (I think we should probably change this,
>>> though).
>>>
>>> Anthony
>>>
>>> On Sunday, October 7, 2012 2:44:44 PM UTC-4, dave wrote:
>>>>
>>>> auth.settings.extra_fields['auth_user']= [
>>>> #Field('name', requires=IS_NOT_EMPTY()),
>>>> .
>>>> .
>>>> .
>>>> Field('test1', 'reference ranking', requires=IS_IN_DB(db, 'ranking.id
>>>> ', '%(name)s')),
>>>> .
>>>> .
>>>> .
>>>>
>>>>
>>>> On Sunday, October 7, 2012 7:37:03 AM UTC-7, Anthony wrote:
>>>>>
>>>>> How is your "test1" field defined?
>>>>>
>>>>> On Sunday, October 7, 2012 3:26:31 AM UTC-4, dave wrote:
>>>>>>
>>>>>>
>>>>>> grid = SQLFORM.grid(query, args=[request.args(0)],
>>>>>> fields=[db.auth_user.test0,
>>>>>> db.auth_user.test1,
>>>>>> db.auth_user.test2,
>>>>>> I have defined this in my controller, the value of test1 is a
>>>>>> reference to another table, how would I make web2py show the referenced
>>>>>> value instead of displaying the id, something equivalent to
>>>>>> Field('field2',
>>>>>> 'reference employees', requires=IS_IN_DB(db, 'employees.id',
>>>>>> '%(name)s')) when defining the table
>>>>>>
>>>>>
--
---
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/groups/opt_out.