In my 'room' controller, I did this: def list(): rooms = db((db.rooms.customer==session.customer_id)&(db.rooms.property==db.properties.id)).select(db.rooms.ALL, db.properties.ALL, orderby=db.properties.short_desc) return dict(rooms=rooms)
which I thought was way cool. In my 'room/list.html' view, I'm able to do this: {{for room in rooms:}} <p> <a href="{{=URL(f='show', args=room.rooms.id)}}">{{=room.properties.short_desc}}: {{=room.rooms.short_desc}}</a> <a href="{{=URL(f='update', args=room.rooms.id)}}">[edit]</a></ p> {{pass}} Which I also thought was way cool. Then I tried to pass it to generic.json. I called rooms/list.json, and got got 'no json'. After commenting out the try/catch block, I found this: Traceback (most recent call last): File "/var/www/vhosts/web2py.hens-teeth.net/httpdocs/web2py/gluon/ restricted.py", line 188, in restricted exec ccode in environment File "/var/www/vhosts/web2py.hens-teeth.net/httpdocs/web2py/ applications/InsuranceInventory/views/generic.json", line 5, in <module> #try: AttributeError: 'dict' object has no attribute 'id' Dumping the row object out, I discover that this is accurate. There is no attribute 'id'. All the attribute names are based on the two tables. For instance, 'rooms.id', 'property.id', etc. I made my own list.json file, and attempted to work with the returned rows object, but I got stuck since I don't know how to access an attribute of an object, when the attribute has a dot in it. Anybody been here? How do I work with this object. I need the json output in order to populate a rooms dropdown using jQuery. Thanks.