2010-12-05 1 views
0

Elixir宣言層に問題があります。私はこのように、私のモデルのすべてのインスタンスに対して、特定の列のデータを取得したい:Elixirでquery.valuesが失敗する

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',) 

はところでそれは特にエリクサーの問題ではありません - Elixirのエンティティのクエリプロパティから返されたクエリは、標準的なSQLAlchemyのクエリオブジェクトです。 Query.valuesためのSQLAlchemyのドキュメント()注:

戻り列の所定のリスト に対応する結果タプルを返すイテレータを

関連する問題