2010-12-05 26 views
0

我有一個Elixir聲明層的問題;我想檢索,對我的模型,一個特定列的數據的每個實例,就像這樣:query.values失敗Elixir

File.query.values("column") 

的事情是,它只用過濾的查詢工作,它失敗的例子中的簡單查詢這個錯誤:

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

這種看起來像在藥劑中的錯誤,但我沒有找到一個解決辦法,也許我完全忽略了它應該工作的方式的東西。

回答

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它並不特別的藥劑問題 - 查詢從藥劑實體的查詢屬性返回是一個標準的SQLAlchemy的查詢對象。注意Query.values)的SQLAlchemy的文檔(:

返回一個迭代產生對應於給定的列清單 結果 元組