我正在与Flask应用程序大摇大摆。在那我正在尝试创建API响应。所以我尝试了下面的东西。
我有一个包含15列的表格。我只是想从表中选择特定的列。所以我使用sqlalchemy中的with_entities()
,如下所示。
dbobject.query.with_entities(dbobject.id, dbobject.name, dbobject.version)
它返回表格中所有行(21, asset21, 9898)
的可用行,但不是键控元组。当我尝试从上面查询的返回行中获取所选行的列名时,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()
当我选择表dbobject.query.all()
为什么它不适用于with_entities的任何具体原因?
答案 0 :(得分:1)
尝试标签应该按预期给出最终结果
dbobject.query.with_entities(dbobject.id.label('id'), dbobject.name.label('name'), dbobject.version.label('version'))