Sqlalchemy结果可以包含0到多条记录。
结果是:
record = meta.Session.query(model.EmpsTable).filter(model.EmpsTable
.firstname.like(searchQuery))
如果只有一条记录要返回,我会这样做:
return {'file_id':record.file_id, 'filename':
record.filename, 'links_to' :record.url}
我可以在终端上打印记录,如:
for r in record:
print r.file_id
但在这种情况下,我需要将这些多条记录作为JSON回复发送给JQuery ajax。
我怎样才能做到这一点?
答案 0 :(得分:2)
首先,不要将record
一个对象称为查询,集合,检测序列/等等......然后你就可以得到一个字典列表。
qry = meta.Session.query(model.EmpsTable).filter(model.EmpsTable
.firstname.like(searchQuery))
return {'data': [
{'file_id':record.file_id, 'filename':
record.filename, 'links_to' :record.url}
for record in qry
]}
要将返回的对象转换为JSON,您可能已经为此设置了方法,或者只是在其上调用json.dumps()。
更新:出于安全原因,正如by @MrGhimire指出的那样,最好将列表包装在字典中。