在控制器/default.py
def test():
return dict(test=db().select(db.tbl_profile.name))
我在 test.html 中有 {{=test}} 但它返回给我:
tbl_card.name
Johnny Apples...
我只想在 html 中显示完整的完整名称,而不是 table.field 的名称或不完整的名称(被...截断)。
db().select(db.tbl_profile.name)
是一个Rows
对象——即使它只包含一个记录。如果要提取单个Row
对象,则必须执行以下操作:
db().select(db.tbl_profile.name)[0]
或者
db().select(db.tbl_profile.name).first()
None
后者更可取,因为如果没有记录,它只会返回(而第一个选项在这种情况下会产生异常)。
提取单个Row
对象后,您仍然必须选择要显示的特定字段,即使这是Row
. 所以,代码应该是:
return dict(test=db().select(db.tbl_profile.name).first().name)
您可以仅通过 db().select(db.tablename.fieldname) 显示所有行。要处理截断问题,您可以使用 SQLTABLE() 并将 truncate 设置为 None。