У меня есть рабочий SQL-оператор Postgres, который выполняет таблицу - question
- объединяется для извлечения только тех строк с соответствующим столбцом foo
, которые имеют самые последние created_data
:
SELECT q.*
FROM question q
INNER JOIN
(SELECT foo, MAX(created_date) AS most_current
FROM question
GROUP BY foo) grouped_q
ON q.foo = grouped_q.foo
AND q.created_date = grouped_q.most_current
Мне интересно, если и как это можно преобразовать в SQLAlchemy, чтобы я мог использовать полученные строки как объекты ORM?
И, если известно, какие могут быть различия в производительности?
FWIW, я могу гидрировать объект SQLAlchemy ORM, перебирая строки и выполняя следующие действия ...
for row in res.fetchall():
question = Question(**dict(zip(res.keys(), row)))
но это выглядит глупо, и я хотел бы сохранитьзапрос в синтаксисе SQLAlchemy, если это возможно.
Заранее спасибо.