URL パラメータから mongodb のクエリを作成するのに役立つクエリ ビルダー クラスを作成しています。基本的な言語構造を使用したり、django の組み込みモデルを使用したりする以外に、オブジェクト指向プログラミングを行ったり、自分以外の人が使用するクラスを設計したりしたことはありません。
だから私はこのQueryBuilder
クラスを持っています
class QueryHelper():
"""
Help abstract out the problem of querying over vastly
different dataschemas.
"""
def __init__(self, collection_name, field_name, params_dict):
self.query_dict = {}
self.params_dict = params_dict
db = connection.get_db()
self.collection = db[collection_name]
def _build_query(self):
# check params dict and build a mongo query
pass
ここで、 mongoの関数に渡すために、 を_build_query
チェックして入力します。これを行う際に、辞書を返す必要があるかどうか、または単に変更する必要があるかどうかについて、絶対に正しいアプローチがあるかどうか疑問に思っていました。これは内部メソッドであるため、変更するだけで問題ないと思います。これにアプローチする正しい方法(pythonic)の方法はありますか?これはばかげているだけで、重要な設計上の決定ではありませんか? どんな助けでも大歓迎です。params_dict
query_dict
find()
_build_query
self.query_dict
self.query_dict