diff --git a/mongoengine/queryset/queryset.py b/mongoengine/queryset/queryset.py index 1122123b..058bdd86 100644 --- a/mongoengine/queryset/queryset.py +++ b/mongoengine/queryset/queryset.py @@ -39,6 +39,7 @@ class QuerySet(object): providing :class:`~mongoengine.Document` objects as the results. """ __dereference = False + __none = False def __init__(self, document, collection): self._document = document @@ -391,7 +392,7 @@ class QuerySet(object): """ self._iter = True try: - if self._limit == 0: + if self._limit == 0 or self.__none: raise StopIteration if self._scalar: return self._get_scalar(self._document._from_son( @@ -411,7 +412,8 @@ class QuerySet(object): def none(self): """Helper that just returns a list""" - return [] + self.__none = True + return self def count(self): """Count the selected elements in the query. diff --git a/tests/test_queryset.py b/tests/test_queryset.py index 378b4899..09b6b3ff 100644 --- a/tests/test_queryset.py +++ b/tests/test_queryset.py @@ -258,7 +258,9 @@ class QuerySetTest(unittest.TestCase): A.drop_collection() A().save() - self.assertEqual(A.objects.none(), []) + + self.assertEqual(list(A.objects.none()), []) + self.assertEqual(list(A.objects.none().all()), []) def test_chaining(self): class A(Document):