使用Elixir,query.values失败

时间:2010-12-05 17:30:44

标签: python sqlalchemy python-elixir

我有Elixir声明层的问题;我想为我的模型的每个实例检索特定列的数据,如下所示:

File.query.values("column")

问题是,它只适用于过滤后的查询,对该示例的简单查询失败并出现此错误:

Could not locate a bind configured on SQL expression or this Session

这种看起来像Elixir中的一个错误,但我找不到解决方法,也许我完全忽视了它应该工作的方式。

1 个答案:

答案 0 :(得分:2)

使用表格

File.query.values(Table.column)

它应该有效。它返回一个生成器,因此用list()包装以获取序列。请参阅此示例交互式输出:

>>> User.query.values('display_name')
Traceback (most recent call last):
  File "<console>", line 1, in ?
[snip traceback]
UnboundExecutionError: Could not locate a bind [ ... ] or this Session
>>> User.query.values(User.display_name).next()
(u'Vinay Sajip',)

BTW它并不特别是Elixir问题 - 从Elixir实体的查询属性返回的查询是标准的SQLAlchemy查询对象。请注意Query.values()的SQLAlchemy文档:

  

返回一个产生结果的迭代器   对应于给定列表的元组   列