2

Sqlalchemy の結果には、0 から多数のレコードを含めることができます。

結果は次のとおりです。

record = meta.Session.query(model.EmpsTable).filter(model.EmpsTable
         .firstname.like(searchQuery))

返すレコードが 1 つしかない場合は、次のようにします。

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 に答える