Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Fixed #19151 -- Added missing methods to EmptyQuerySet. #456

Merged
merged 1 commit into from Oct 20, 2012
Jump to file or symbol
Failed to load files and symbols.
+19 −0
Split
View
@@ -1271,6 +1271,18 @@ def aggregate(self, *args, **kwargs):
kwargs[arg.default_alias] = arg
return dict([(key, None) for key in kwargs])
+ def values(self, *fields):
+ """
+ Always returns EmptyQuerySet.
+ """
+ return self
+
+ def values_list(self, *fields, **kwargs):
+ """
+ Always returns EmptyQuerySet.
+ """
+ return self
+
# EmptyQuerySet is always an empty result in where-clauses (and similar
# situations).
value_annotation = False
@@ -1698,6 +1698,13 @@ def test_values_subquery(self):
[]
)
+ def test_ticket_19151(self):
+ # #19151 -- Calling .values() or .values_list() on an EmptyQuerySet
+ # should return EmptyQuerySet and not cause an error.
+ q = EmptyQuerySet()
+ self.assertQuerysetEqual(q.values(), [])
+ self.assertQuerysetEqual(q.values_list(), [])
+
class ValuesQuerysetTests(BaseQuerysetTest):
def test_flat_values_lits(self):