web.py - 如何将db.query(sql)的结果转换为dict列表?

时间:2011-05-13 12:10:21

标签: python web.py

我是Python和web.py(我目前正在使用)的新手,所以请耐心等待。

the official document中:

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,希望得到一个key:value数据列表。

在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 :(得分:0)

它会触发,因为你只是从新闻中选择title属性,而obvioulsy会给出像(a,b,c,d)这样的元组作为结果。 如果你想要一个对象作为结果,做这样的事情

self.db.query("SELECT * FROM news")