我对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()
我希望表1中id等于5的前5行,但会返回5个对象,它们的形式为<sqlalchemy.ext.automap.tabl1 at some hash number>