I just added the syntax you requested:
linked_tables=dict(parent=['child'], child=[])
Please help me test it.
On Saturday, 22 September 2012 18:55:57 UTC-5, Adi wrote:
>
> If I may rephrase and clarify a question:
>
> Is it possible to add control, through dictionary in (smartgrid)
> linked_tables when will links display?
>
> e.g: linked_tables=dict(parent=['child'], child=[''])
>
> wishful outcome: display children links for parent table, but don't
> display any related links for child table.
>
> Thanks,
> Adnan
>
>
> On Friday, September 21, 2012 11:58:05 AM UTC-4, Adi wrote:
>>
>> I'm wondering what to do in this situation? I have self-referencing
>> fields in the child table, and due to that smartgrid display links, which
>> basically can't do anything.
>>
>> I'm trying to eliminate them, but not sure what would be a proper way?
>>
>> Thanks.
>>
>> Simplified code sample:
>> db.define_table('campaign',
>> Field('tbl_uuid', length=64, default=lambda:str(uuid.
>> uuid4())),
>> Field('name','string', label=T('Campaing Name')),
>> format='%(name)s',
>> )
>>
>> db.define_table('message',
>> Field('tbl_uuid', length=64, default=lambda:str(uuid.
>> uuid4())),
>> Field('name','string', label=T('Name')),
>> Field('campaign_id', 'reference campaign', label=T(
>> 'Campaign')),
>> Field('action_yes_id', 'reference message)',
>> label=T('Action
>> Yes'),),
>> Field('action_no_id', 'reference message)',
>> label=T('Action
>> No')),
>> migrate=True)
>>
>>
>>
>> grid=SQLFORM.smartgrid(Campaign, details=False, links_in_grid=True,
>> linked_tables=['message'],
>> # linked_tables=dict(campaign=['message'],
>> message=['']),
>> links=dict(campaign=[lambda row:(_get_messages(row))
>> ]),
>> )
>> Enter code here...
>>
>>
>>
--