Редактирование SQLAlchemy From оператор - PullRequest
0 голосов
/ 03 мая 2018

У меня есть этот запрос:

projects = self._session
   .query(models.Project)
   .filter(models.Project.project_year == year)

В зависимости от некоторых условий я хотел бы добавить это выражение в виде столбца:

session
  .query(list_id)
  .filter(sl2.project_id==Project.project_id)
  .order_by(sort_order)
  .limit(1)
  .label('list_id')

Пока единственным способом, которым я могу понять, как это сделать, является функция add_column(), но это создает кортеж результата запроса и результата выражения выше. Мне нужен результат выражения в виде столбца в исходном запросе.

В идеале, я мог бы поместить выражение непосредственно после модели проекта, как показано ниже:

query(models.Project, --expression here--)

но мне это не всегда нужно.

...