web.py - 如何将db.query(sql)的结果转换为字典列表?
我刚接触Python和web.py(我现在正在使用的框架),请多多包涵。
在官方文档中:
import web
db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='')
results = db.query("SELECT COUNT(*) AS total_users FROM users")
print results[0].total_users # -> prints number of entries in 'users' table
看起来查询的结果是一个字典列表,格式是{total_user: num}对吧?
我的情况很相似:我在数据库上执行一个SELECT语句,希望得到一个键值对的数据列表。
在models.py文件中:
def get_items:
return self.db.query("SELECT title FROM news")
在code.py文件中:
items = model.get_items
return render.list(items)
在templates/list.html文件中:
$def with (items)
$for item in items:
<p>$item.title</p>
但是,这段代码出现了一个错误,提示“'tuple'对象没有'title'属性”。我哪里出错了呢?提前谢谢你的帮助。
1 个回答
0
这个会被触发,因为你只是从新闻中选择了标题属性,这显然会返回一个像 (a,b,c,d) 这样的元组。如果你想要一个对象作为结果,可以这样做:
self.db.query("SELECT * FROM news")