Возвращение полного утверждения с объединением в sqlalchemy - PullRequest
0 голосов
/ 26 сентября 2019

Я использую объявление таблицы SQLalchemy, чтобы избежать использования строк и ручной генерации операторов SQL.Это сработало довольно хорошо, за исключением следующего случая использования, когда я пытаюсь вернуть оператор, который создает объединенную таблицу со всеми столбцами из обеих таблиц, соединенных на неявном PK / FK, который существует между таблицами.

Кажется, что оператор ниже выбирает только столбцы из первой (Result) таблицы, и я не уверен, как сгенерировать полный оператор select?

sql = Query(Results, Details).join(Details)\
            .filter(Details.result_type == 'standard')\
            .statement

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Конструкция запроса не является наилучшей для этого варианта использования, так как она возвращает сами объекты.Вместо этого это можно сделать с помощью конструкции select следующим образом:

sql = select([Results, Details])\
        .select_from(Results.join(Details))
0 голосов
/ 26 сентября 2019

Query ожидает последовательность объектов или выражений SQL в качестве первого аргумента, поэтому

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