Кажется очень простой 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()