Я довольно новичок в SQLAlchemy и пытаюсь выполнить простой запрос. В настоящее время я использую функцию auto_base()
для отражения существующей базы данных. Каждый раз, когда я пытаюсь вернуть строку или выполнить запрос к отраженной базе данных, я продолжаю получать объект запроса sqlalchemy, а не фактическую строку значений в таблице, на которую я ссылаюсь. Что я здесь не так делаю?
Я думал, что мне не хватает функции .all()
, но это не помогло моей проблеме, просто объект запроса был возвращен снова.
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
from sqlalchemy import create_engine
Base = automap_base()
engine = create_engine('mysqldatabase...')
Base.prepare(engine, reflect=True)
tbl1 = Base.classes.tbl1
tbl2 = Base.classes.tbl2
session = Session(engine)
A = session.query(tbl1).filter(tbl1.id=='5').limit(5).all()
Я ожидаю, что первые 5 строк, где id равен 5 в таблице 1, но вместо этого я получаю 5 возвращаемых объектов, которые имеют форму <sqlalchemy.ext.automap.tabl1 at some hash number>