If this works:

db.task.opportunity_id.represent=lambda opportunity_id:
db.oppty_main_id[db.opportunity[opportunity_id].oppty_main_id].name

this should work too

db.task.opportunity_id.represent=lambda opportunity_id:
opportunity_id.oppy_main_id.name


On Jan 13, 2:22 pm, Alexandre Andrade <alexandrema...@gmail.com>
wrote:
> better
>
> db.task -> child table | parent field
> db.opportunity -> parent table
> db.oppty_main_id -> grandparent table
>
> should work:
>
> db.task.opportunity_id.represent=lambda opportunity_id:
> db.oppty_main_id[db.opportunity[opportunity_id].oppty_main_id].name
>
> 2010/1/13 Alexandre Andrade <alexandrema...@gmail.com>
>
>
>
> > Let's make it clear:
>
> > db.task -> child
> > db.opportunity -> parent
> > db.oppty_main_id -> grandparent
>
> > db.task.opportunity_id.represent=lambda opportunity_id:
> > db.oppty_main_id[db.opportunity[opportunity_id].id].name
>
> > should work
>
> > db.task.opportunity_id.represent=lambda opportunity_id:
> > db.opportunity[opportunity_id].name <http://oppty_main_id.name/>
>
> > 2010/1/13 Miguel Lopes <mig.e.lo...@gmail.com>
>
> >> On Wed, Jan 13, 2010 at 2:07 PM, Alexandre Andrade
>
> >> <alexandrema...@gmail.com> wrote:
> >> > this works for me:
>
> >> > db.plano_aplicacao.codigo.represent= lambda codigo:
> >> > db.natureza_despesa[codigo].codigo + ' - ' +
> >> > db.natureza_despesa[codigo].especificacao ),
>
> >> ("Olá Alexandre" == "Hello Alexandre")
> >> I'm not trying to get to a representation that is in the child table.
> >> Rather it's in a grandchild table (in a another parent of the child
> >> able to be exact). So the code should be something like:
>
> >> db.task.opportunity_id.requires=IS_NULL_OR(
> >>        IS_IN_DB(db(db.opportunity.id==db.task.opportunity_id),
> >> 'opportunity.id'))
> >> db.task.opportunity_id.represent=lambda opportunity_id:
> >> db.opportunity[opportunity_id].oppty_main_id.name
>
> >> But this doesn't work. Although, I get the right result if (given
> >> opportunity_id):
> >> print db.opportunity[opportunity_id].oppty_main_id.name
>
> >> The models are [irrelevant fields removed]:
>
> >> db.define_table('task',
> >>    Field('title'),
> >>    Field('opportunity_id',db.opportunity,default=None))
>
> >> db.task.opportunity_id.requires=IS_IN_DB(db,'opportunity.id')
> >> db.task.opportunity_id.requires.zero=''
>
> >> db.define_table('opportunity',
> >>    Field('oppty_main_id', db.oppty_main))
>
> >> db.opportunity.oppty_main_id.requires=IS_IN_DB(db, 'oppty_main.id',
> >> '%(name)s')
>
> >> db.define_table('oppty_main',
> >>    Field('name', label='Oportunidade'))
>
> >> db.oppty_main.name.requires=[IS_NOT_EMPTY(), IS_NOT_IN_DB(db,'
> >> oppty_main.name')]
>
> >> Miguel
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "web2py-users" group.
> >> To post to this group, send email to web...@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> web2py+unsubscr...@googlegroups.com<web2py%2bunsubscr...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/web2py?hl=en.
>
> > --
> > Atenciosamente
>
> > --
> > =========================
> > Alexandre Andrade
> > Hipercenter.com
>
> --
> Atenciosamente
>
> --
> =========================
> Alexandre Andrade
> Hipercenter.com
-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.


Reply via email to