diff options
Diffstat (limited to 'django/db/models/sql')
| -rw-r--r-- | django/db/models/sql/query.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 8837881579..af5f684943 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -2086,7 +2086,12 @@ class Query(BaseExpression): self.deferred_loading = existing.union(field_names), True else: # Remove names from the set of any existing "immediate load" names. - self.deferred_loading = existing.difference(field_names), False + if new_existing := existing.difference(field_names): + self.deferred_loading = new_existing, False + else: + self.clear_deferred_loading() + if new_only := set(field_names).difference(existing): + self.deferred_loading = new_only, True def add_immediate_loading(self, field_names): """ |
