diff --git a/django/db/models/query.py b/django/db/models/query.py index 59b6e64954..76f5eab680 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -293,6 +293,12 @@ class _QuerySet(object): return self._clone(klass=DateQuerySet, setup=True, _field=field, _kind=kind, _order=order) + def none(self): + """ + Returns an empty queryset. + """ + return self._clone(klass=EmptyQuerySet) + ################################################################## # PUBLIC METHODS THAT ALTER ATTRIBUTES AND RETURN A NEW QUERYSET # ################################################################## diff --git a/tests/modeltests/lookup/models.py b/tests/modeltests/lookup/models.py index a87ce523a2..f3cce70e12 100644 --- a/tests/modeltests/lookup/models.py +++ b/tests/modeltests/lookup/models.py @@ -254,6 +254,8 @@ DoesNotExist: Article matching query does not exist. [] >>> Article.objects.none().filter(headline__startswith='Article') [] +>>> Article.objects.filter(headline__startswith='Article').none() +[] >>> Article.objects.none().count() 0 >>> [article for article in Article.objects.none().iterator()]