query.values ​​не работает с Elixir - PullRequest
0 голосов
/ 05 декабря 2010

У меня проблема с декларативным слоем Elixir;Я хочу получить для каждого экземпляра моей модели данные определенного столбца, например:

File.query.values("column")

Дело в том, что он работает только с отфильтрованными запросами, с простым запросом примеразавершается с этой ошибкой:

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

Этот вид выглядит как ошибка в Elixir, но мне не удается найти обходной путь, и, возможно, я что-то упустил из виду, как это должно работать.

1 Ответ

2 голосов
/ 06 декабря 2010

Используйте форму

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 - запрос, возвращаемый из свойства запроса объекта Elixir, является стандартным объектом запроса SQLAlchemy. Обратите внимание на документацию по SQLAlchemy для Query.values ​​():

Вернуть итератор, дающий результат кортежи, соответствующие данному списку из столбцов

...