0

在控制器/default.py

def test(): 
    return dict(test=db().select(db.tbl_profile.name))

我在 test.html 中有 {{=test}} 但它返回给我:

 tbl_card.name
 Johnny Apples... 

我只想在 html 中显示完整的完整名称,而不是 table.field 的名称或不完整的名称(被...截断)。

4

2 回答 2

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)
于 2013-05-26T23:59:26.977 回答
0

您可以仅通过 db().select(db.tablename.fieldname) 显示所有行。要处理截断问题,您可以使用 SQLTABLE() 并将 truncate 设置为 None。

于 2015-01-31T13:35:46.193 回答