1

キー/値の引数を渡してオブジェクトをフェッチする 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)
4

1 に答える 1