在 Flask SqlAlchamey 中使用 dbobject.query.with_entities(dbobject.col1,dbobject2) 进行 select 查询时,Keyed Tuple 没有返回
Keyed Tuple is not returning while doing select queries with dbobject.query.with_entities(dbobject.col1,dbobject2) in Flask SqlAlchamey
我正在大摇大摆地使用 Flask 应用程序。因为我正在尝试创建 API 响应。所以我尝试了以下内容。
我有一个包含 15 列的 table。我只想 select 仅 table 中的特定列。所以我使用了 sqlalchemy 中的 with_entities()
,如下所示。
dbobject.query.with_entities(dbobject.id, dbobject.name, dbobject.version)
它以这种格式返回来自 table 的所有行 (21, asset21, 9898)
的可用行,但不是作为键控元组。当我试图从上述查询的返回行中获取 selected 行的列名时,row.__table__.columns.keys()
也不起作用。它只是以以下错误结束
for col in row.__table__.columns.keys() if col != 'id')
AttributeError: 'result' object has no attribute '__table__'
但是 row.__table__.columns.keys()
当我执行 select 来自 table dbobject.query.all()
的所有列时,相同的片段正在工作
它对 with_entities 不起作用的任何具体原因?
尝试标记应该给出预期的最终结果
dbobject.query.with_entities(dbobject.id.label('id'), dbobject.name.label('name'), dbobject.version.label('version'))
我正在大摇大摆地使用 Flask 应用程序。因为我正在尝试创建 API 响应。所以我尝试了以下内容。
我有一个包含 15 列的 table。我只想 select 仅 table 中的特定列。所以我使用了 sqlalchemy 中的 with_entities()
,如下所示。
dbobject.query.with_entities(dbobject.id, dbobject.name, dbobject.version)
它以这种格式返回来自 table 的所有行 (21, asset21, 9898)
的可用行,但不是作为键控元组。当我试图从上述查询的返回行中获取 selected 行的列名时,row.__table__.columns.keys()
也不起作用。它只是以以下错误结束
for col in row.__table__.columns.keys() if col != 'id')
AttributeError: 'result' object has no attribute '__table__'
但是 row.__table__.columns.keys()
当我执行 select 来自 table dbobject.query.all()
它对 with_entities 不起作用的任何具体原因?
尝试标记应该给出预期的最终结果
dbobject.query.with_entities(dbobject.id.label('id'), dbobject.name.label('name'), dbobject.version.label('version'))