После ответа @balki, поскольку SQLAlchemy 0.8 вы можете использовать _asdict (), доступный для объектов KeyedTuple. Это дает довольно простой ответ на исходный вопрос. Просто измените в своем примере две последние строки (цикл for) для этого:
for u in session.query(User).all():
print u._asdict()
Это работает, потому что в приведенном выше коде u является объектом типа class KeyedTuple , так как .all () возвращает список KeyedTuple. Поэтому он имеет метод _asdict () , который прекрасно возвращает u в качестве словаря.
WRT ответ by @STB: AFAIK, anikong, что .all () возвращает список KeypedTuple. Следовательно, вышеизложенное работает либо при указании столбца, либо в отсутствии, если вы имеете дело с результатом .all () применительно к объекту Query.