为什么我的查询对象没有被执行,并且仍然是一个查询对象?
Why is my query object not being executed, and remaining a query object?
我正在使用 pyramid 和 sqlalchemy 为一些简单的论坛创建一个 api。我有一个视图,当用户向下滚动到页面末尾时,我想简单地将 return 一些 json 形式的帖子发送给客户端。出于某种原因,查询甚至不是 运行 而我正在 returned 查询对象而不是 rowproxy 对象。顺便说一下,这只是一个测试查询,我只是从数据库中获取了几次并尝试在 json 中发送它们。
@view_config(route_name='get-posts', renderer='json')
def get-posts(request)
q = session.query(Topic).filter(Topic.name =='gaming')\
.order_by(desc(Topic.topic_date)).limit(10)
results = [dict(zip(row.keys()) for row in q)]
return {'posts' : results}
当这是运行时,我得到"AttributeError: 'Topic' object has no attribtue keys",检查q的类型后,我发现它是type:sqlalchemy。orm.query.Query
有谁知道为什么查询没有 运行?我有一个非 api 视图函数,我在其中做几乎相同的事情,并且 returning 结果(行代理作为字典的内容并且它有效......
这是设计使然。查询中有一些方法会导致执行基础查询。 all(), one(), first() 等
如果您需要查询对象作为列表,请对其调用 all():
@view_config(route_name='get-posts', renderer='json')
def get-posts(request)
q = session.query(Topic).filter(Topic.name =='gaming')\
.order_by(desc(Topic.topic_date)).limit(10)
return {'posts' : q.all()}
查询对象参考:http://docs.sqlalchemy.org/en/latest/orm/query.html#the-query-object
我正在使用 pyramid 和 sqlalchemy 为一些简单的论坛创建一个 api。我有一个视图,当用户向下滚动到页面末尾时,我想简单地将 return 一些 json 形式的帖子发送给客户端。出于某种原因,查询甚至不是 运行 而我正在 returned 查询对象而不是 rowproxy 对象。顺便说一下,这只是一个测试查询,我只是从数据库中获取了几次并尝试在 json 中发送它们。
@view_config(route_name='get-posts', renderer='json')
def get-posts(request)
q = session.query(Topic).filter(Topic.name =='gaming')\
.order_by(desc(Topic.topic_date)).limit(10)
results = [dict(zip(row.keys()) for row in q)]
return {'posts' : results}
当这是运行时,我得到"AttributeError: 'Topic' object has no attribtue keys",检查q的类型后,我发现它是type:sqlalchemy。orm.query.Query
有谁知道为什么查询没有 运行?我有一个非 api 视图函数,我在其中做几乎相同的事情,并且 returning 结果(行代理作为字典的内容并且它有效......
这是设计使然。查询中有一些方法会导致执行基础查询。 all(), one(), first() 等
如果您需要查询对象作为列表,请对其调用 all():
@view_config(route_name='get-posts', renderer='json')
def get-posts(request)
q = session.query(Topic).filter(Topic.name =='gaming')\
.order_by(desc(Topic.topic_date)).limit(10)
return {'posts' : q.all()}
查询对象参考:http://docs.sqlalchemy.org/en/latest/orm/query.html#the-query-object