В небольшом сценарии я пишу использованию SQLAlchemy и Elixir, я должен получить все отличные значения для конкретного столбца. В обычном SQL это был бы простой вопрос
SELECT DISTINCT `column` FROM `table`;
и я знаю, что мог просто выполнить тот запрос "вручную", но я буду скорее придерживаться декларативного синтаксиса SQLAlchemy (и/или Elixir), если я могу. Я уверен, что это должно быть возможно, я даже видел намеки на этот вид вещи в документации SQLAlchemy, но я искал через ту документацию в течение многих часов (а также та из Elixir), и я просто, может казаться, на самом деле не выясняю, как это было бы сделано. Таким образом, что я пропускаю?
Можно запросить свойства столбцов отображаемых классов, и класс Query имеет генеративный метод distinct()
:
for value in Session.query(Table.column).distinct():
pass