开发者

query.values fails with Elixir

I have a problem with the Elixir declarative layer; I want to retrieve, for every instance of my model, the data of a particular column, like this:

File.query.values("column")

The thing is, it only works with filtered queries, with the simple query of the e开发者_如何学Cxample it fails with this error :

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

This kind of looks like a bug in Elixir, but I'm failing to find a workaround, and maybe I totally overlooked something in the way it is supposed to work.


Use the form

File.query.values(Table.column)

and it should work. It returns a generator, so wrap with list() to get a sequence. See this example interactive output:

>>> 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 it's not particularly an Elixir issue - the query returned from an Elixir entity's query property is a standard SQLAlchemy query object. Note the SQLAlchemy documentation for Query.values():

Return an iterator yielding result tuples corresponding to the given list of columns

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜