2017-07-06 7 views
0

私はweb2pyでsmart_queryを使用してdb内の特定の値を検索しようとしていますが、私が見つけることができる唯一の説明はweb2pyの本です。本から例のGETリクエストは次のようにフォーマットされていますGETリクエストにweb2py smart_queryを使用するにはどうすればよいですか?

def GET(search): 
    try: 
     rows = db.smart_query([db.person, db.pet], search).select() 
     return dict(result=rows) 
    except: 
     ... 

は私がデシベル。人とdb.petの代わりに置くどの値にとして困惑しています。

The method db.smart_query takes two arguments: 
    a list of field or table that should be allowed in the query 
    a string containing the query expressed in natural language 

私が第1の値は、私が探していたデータベースになりますが、その後、私は第二の値がどうなるか分からないと思っています。ここでは本がそれに言うことです。この本は私が探している文字列のように聞こえるが、それは変数検索のためだと思う。

誰かが、それぞれの議論が正確に何をすべきか理解してもらえますか?

答えて

0

smart_queryの最初の引数はDAL Table及び/又はFieldオブジェクト(リスト内Tableオブジェクトは、単にテーブルのフィールドのすべてを含むように拡張される)のリストです。このリストは、クエリに含めることができるフィールドを決定します。

2番目の引数はクエリ自体であり、フィールド名と比較演算子(およびその自然言語の対応語句)と式接続詞と論理和には "and"と "or"を含めることができます。許可される内容については、関連コードhereを調べることができます。

SQLFORM.grid高度な検索ウィジェットはとてもクエリを確認するためにテストSQLFORM.gridを作成しようとすると、UIで検索ウィジェットと遊ぶ、このようなクエリを生成する方法の良いアイデアを得るために、最終的にsmart_queryによって解析されたクエリを生成し、それ生成する。

関連する問題