no idea but if this line fails:

        test=db(db.table_1.id==row.ref_t1).select(db.table_1.name).first().
name

do you get a traceback that we can see? My guess is that occasionally 
db(....).select(..).first() is None and therefore there is .name

On Tuesday, 25 October 2016 10:25:32 UTC-5, Nicola Clementel wrote:
>
> Solved!
>
> The problem was ignoring the connection with table_1: table_3 and 4 names 
> are equal to the db.table_1.name values.
>
> The following code is working. 
>
> The only things I don't understand is why it is necessary to use the 
> "try:" syntax.
> Without it, even though the link is correctly created and returned, the 
> line "test= ... " is creating an error.
>
> Can someone explain me why?
>
> Thanks!
>
> Nicola
>
> def index():
>
>     grid=SQLFORM.grid(db.table_2, create=False, editable=True, searchable=
> False, details= True, csv=False,links=[lambda row: getLink(row)])
>     return locals()
>
>
> def getLink(row):
>     try:
>         test=db(db.table_1.id==row.ref_t1).select(db.table_1.name).first
> ().name
>     except:
>         link=''
>     else:
>         if test =='table_3':
>             tb=db.table_3
>         else:
>             tb=db.table_4
>         ID=db(tb.ref_tb2==row.id).select(tb.id).first().id
>
>         link= A('modify',_href=URL('index',args=['edit',test,ID],
> user_signature=True),_class='btn btn-default')
>
>
>

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