Печать определенного поля столбца с использованием запроса sqlAlchemy - PullRequest
0 голосов
/ 16 мая 2019

У меня есть 2 таблицы, Case и Motion. У меня есть следующий запрос:

queries = db.session.query(Case.summary, Case.motion_id, Motion.id, Motion.summary).filter(Case.motion_id == Motion.id)

Если я хочу напечатать Case.summary, я могу выполнить следующие действия, которые я протестировал для работы:

for query in queries: logging.error(query.summary)

Но если я хочу напечатать сводку по Case и Motion (т.е. Case.summary и Motion.summary), как мне написать цикл for?

Я пытался:

logging.error(query.summary + " | " + query.motion.summary)

и

logging.error(query.summary + " | " + query.motion_summary)

но оба не распечатывали сводку движения. Есть идеи?

1 Ответ

0 голосов
/ 04 июля 2019

Я нашел свое решение / обходной путь для моего вопроса. Вам нужно будет использовать метки, которые помечают столбец другим именем. Это похоже на написание «AS» в SQL:

Select id AS motion_id FROM motion

С точки зрения SQLAlchemy, напишите запрос в views.py следующим образом:

queries = db.session.query(Case.summary.label('case_summary'), Case.motion_id.label('case_id'), Motion.id.label('motion_id'), Motion.summary.label('motion_summary').filter(Case.motion_id == Motion.id)

Теперь мои столбцы называются и помечаются как 'case_summary', 'case_id' и т. Д.

Так что я могу войти, написав:

for query in queries:
    logging.error(query.case_summary)
    logging.error(query.motion_summary)

Надеюсь, это поможет!

Спасибо, @snakecharmerb за указание.

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