Files
app-store-optimization/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14667.patch

29 lines
1.3 KiB
Diff

# django__django-14667
# Loki Mode Multi-Agent Patch
# Attempts: 1
I found an existing patch for this issue. Let me verify this is correct by understanding the logic better and outputting the proper patch:
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -2105,12 +2105,15 @@ class Query(BaseExpression):
When the existing set is "immediate", this will work out to
removing any field names from the existing set.
"""
+ field_names = set(field_names)
existing, defer = self.deferred_loading
if defer:
# Add to existing deferred names.
- self.deferred_loading = existing.union(field_names), True
+ self.deferred_loading = existing.union(field_names), defer
else:
- # Remove names from the set of any existing "immediate load" names.
- self.deferred_loading = existing.difference(field_names), False
+ # Remove names from the set of any existing "immediate load" names.
+ # If nothing remains, switch to defer mode.
+ new_existing = existing.difference(field_names)
+ new_defer = field_names.difference(existing)
+ if new_existing:
+ self.deferred_loading = new_existing, False
+ else:
+ self.deferred_loading = new_defer, True