Доступ к данным из запроса для всех столбцов без указания каждого столбца - PullRequest
0 голосов
/ 28 мая 2020

Кажется очень простой c операция, но очень сложно найти решение.

Пример:

with session_scope() as session:
    q = (
        session.query(User)
        .filter(User.NAME == "James")
        .all()
    )

В результате я хотел бы получить структуру данных dict для каждой строки :

{
    "NAME": "James",
    "SURNAME": "Smith",
    "AGE": 53
}

Я не хочу перебирать запрос, обращаясь к каждой строке, как это: row.NAME, row.SURNAME, ..., но хотел бы получить доступ к нему без указания столбца.

Следующий поток В много обсуждений, но решения неуместны (пример: доступ к строке с помощью row.__dic__) или не работают (пример: dict(row)).

Диспетчер контекста для области:

@contextmanager
def session_scope():
    session = Session()
    try:
        yield session
        session.commit()
    except:
        session.rollback()
        raise
    finally:
        session.close()
...