1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #31767 -- Fixed QuerySet.none() on combined queryset.

This commit is contained in:
Mariusz Felisiak
2020-07-07 12:15:05 +02:00
committed by GitHub
parent cb0da637a6
commit ae8338daf3
2 changed files with 10 additions and 0 deletions

View File

@@ -305,6 +305,7 @@ class Query(BaseExpression):
obj.annotation_select_mask = None
else:
obj.annotation_select_mask = self.annotation_select_mask.copy()
obj.combined_queries = tuple(query.clone() for query in self.combined_queries)
# _annotation_select_cache cannot be copied, as doing so breaks the
# (necessary) state in which both annotations and
# _annotation_select_cache point to the same underlying objects.
@@ -1777,6 +1778,8 @@ class Query(BaseExpression):
def set_empty(self):
self.where.add(NothingNode(), AND)
for query in self.combined_queries:
query.set_empty()
def is_empty(self):
return any(isinstance(c, NothingNode) for c in self.where.children)