преобразовать оператор SQL той же таблицы в SQLAlchemy - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть рабочий 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, если это возможно.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...