在controllers / default.py中
def test():
return dict(test=db().select(db.tbl_profile.name))
我在test.html中有{{= test}},但它返回给我:
tbl_card.name
Johnny Apples...
我只想在html中显示完整的完整名称,而不是table.field的名称或不完整的名称(由...截断)。
答案 0 :(得分:1)
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)
答案 1 :(得分:0)
您可以通过db()。select(db.tablename.fieldname)显示所有行。要处理截断问题,可以使用SQLTABLE()并将truncate设置为None。