2012-01-05 23 views

回答

0

当你,如果你,如果你想列表,那么你可以使用这个

In [5]: list (session.query(User).filter(User.username=='test')) 

运行过滤器

In [4]: session.query(MPA).filter(User.username=='test') 
Out[4]: <sqlalchemy.orm.query.Query object at 0x25d12d0> 

所以运行查询

In [3]: session.query(User).all() 
2012-01-05 16:45:42,553 INFO sqlalchemy.engine.base.Engine BEGIN (implicit) 
2012-01-05 16:45:42,554 INFO sqlalchemy.engine.base.Engine SELECT user.username AS user_username 
FROM user 

错误,但在内部它会请致电.all()方法。

+1

它给了我一个错误“对象不是可迭代的” – northlondoner 2012-01-06 05:44:06

+1

威尔您请提供您的代码,以便我们可以检查 – Nilesh 2012-01-10 11:16:59

0

Query.filter(criterion)方法不返回实例对象。从文档:

应用给过滤标准的查询和返回新产生的Query

Query.all(),在另一方面,返回结果。从文档:

返回此Query作为列表所表示的结果


为了解决你的任务,只需添加.all()到查询与filter,这将执行查询:

my_session.query(...).filter(...).all() 
+0

它提供了“属性all()不受支持的错误” – northlondoner 2012-01-06 05:41:12

+0

@northlondoner:请提供示例代码,它会产生您描述的错误... – van 2012-01-06 07:43:00

相关问题