キー/値の引数を渡してオブジェクトをフェッチする get メソッドを作成しようとしています。
def find_by_one(self, val, key='id'):
obj = self.__model__.objects(key=val).first()
return obj if obj else None
私が得るエラー
InvalidQueryError: Cannot resolve field "key"
親切に私の質問に答えました。**kwargs を渡すようにメソッドを変更し、これをクエリセットとして渡すことになりました
def find_by_one(self, **kwargs):
user = self.__model__.objects(**kwargs).first()
return user if user else None
これで、find_by_one を呼び出すことができます
obj.find_by_one(id=obj_id)
それ以外の
obj.find_by_one(obj_id)