2

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。

我怎样才能做到这一点?

4

1 回答 1

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()。

更新:出于安全原因,正如@MrGhimire所指出的,最好将列表包装在字典中。

于 2012-07-13T10:40:38.973 回答