我是 Python 和 Pyramid 的新手。在我用来了解更多有关 Pyramid 的测试应用程序中,我想查询数据库并根据 sqlalchemy 查询对象的结果创建字典,最后将字典发送到变色龙模板。
到目前为止,我有以下代码(工作正常),但我想知道是否有更好的方法来创建我的字典。
...
index = 0
clients = {}
q = self.request.params['q']
for client in DBSession.query(Client).filter(Client.name.like('%%%s%%' % q)).all():
clients[index] = { "id": client.id, "name": client.name }
index += 1
output = { "clients": clients }
return output
在学习 Python 时,我发现了一种在 for 循环语句中创建列表的好方法,如下所示:
myvar = [user.name for user in users]
那么,我遇到的另一个问题是:是否有类似上述的“单行”方式来创建 sqlalchemy 查询对象的字典?
提前致谢。