SQLALCHEMY - 迭代数据

sid*_*der 4 python iteration sqlalchemy

当我使用SQLALchemy时,如何迭代列名?

例如.

Column Name 1, Column Name 2, Column Name 3, etc...
Run Code Online (Sandbox Code Playgroud)

第二个问题是我有以下查询:

root = dbsession.query(MyTable).filter(MyTable.name==u'john').all()
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时:

for row in root:
    print row
Run Code Online (Sandbox Code Playgroud)

我没有得到任何结果.相反,我必须这样做:

print row.name, row.age, etc...
Run Code Online (Sandbox Code Playgroud)

我不能只是print row从所有列返回数据吗?

say*_*yap 5

dbsession.query(MyTable).filter(MyTable.name==u'john')将通过ORM并返回您的对象.如果您只想返回所有列,可以使用以下方法绕过ORM:

query = dbsession.query(MyTable).filter(MyTable.name==u'john')
rows = query.statement.execute().fetchall()
for row in rows:
    print row
Run Code Online (Sandbox Code Playgroud)