From 4815b1afed63eaf78b60dfa401642e621c80bdf4 Mon Sep 17 00:00:00 2001 From: Matt Wright Date: Thu, 4 Apr 2013 15:50:46 -0400 Subject: [PATCH] Make find_user method for MongoEngineUserDatastore add contraints to query --- flask_security/datastore.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/flask_security/datastore.py b/flask_security/datastore.py index f8c7218..3e11c7b 100644 --- a/flask_security/datastore.py +++ b/flask_security/datastore.py @@ -191,7 +191,10 @@ class MongoEngineUserDatastore(MongoEngineDatastore, UserDatastore): UserDatastore.__init__(self, user_model, role_model) def find_user(self, **kwargs): - return self.user_model.objects(**kwargs).first() + from mongoengine.queryset import Q, QCombination + queries = map(lambda i: Q(**{i[0]: i[1]}), kwargs.items()) + query = QCombination(QCombination.AND, queries) + return self.user_model.objects(query).first() def find_role(self, role): return self.role_model.objects(name=role).first()