Instead of the field representation, the row attribute returns the stored value of the record, as expected. Probably you can call the field represent functions for the required behavior if you are not using sqltable
<td>db.Edge.byNodeID.represent(row.byNodeID, row)</td> <td>db.Edge.ofNodeID.represent(row.ofNodeID, row)</td> On 18 mar, 03:36, Annet <[email protected]> wrote: > The table in db.py > > db.define_table('Edge', > > Field('hubID',db.Hub,default='',notnull=True,ondelete='CASCADE',writable=False,readable=False), > > Field('byNodeID',db.Node,default='',notnull=True,ondelete='RESTRICT'), > > Field('ofNodeID',db.Node,default='',notnull=True,ondelete='CASCADE'), > ... > migrate=False) > > db.Edge.hubID.represent=lambda hubID, row: > db(db.Hub.id==hubID).select().first().name > db.Edge.byNodeID.represent=lambda byNodeID, > row:db(db.Organization.nodeID==byNodeID).select().first().name > db.Edge.ofNodeID.represent=lambda ofNodeID, row: > db(db.Organization.nodeID==ofNodeID).select().first().name > > The function: > > @auth.requires(auth.has_membership(HUB) or auth.has_membership(ADMIN)) > def edge(): > form=rows=rowcount=[] > > rows=rows=db(db.HubEdge.hubID==session.hubadminID).select(db.HubEdge.ALL) > return dict(rows=rows) > > When in the view I simply do: > > {{=rows}} > > The name of the Organization is being displayed. When I do: > > {{for row in rows:}} > <tr> > <td>{{=row.byNodeID}}</td> > <td>{{=row.ofNodeID}}</td> > </tr> > {{pass}} > > ... the byNodeID and ofNodeID are being displayed. I guess there is > something wrong syntactically? > > Kind regards, > > Annet

