mirror of
https://github.com/django/django.git
synced 2025-10-27 15:46:10 +00:00
Fixed #36360 -- Fixed QuerySet.update() crash when referring annotations through values().
The issue was only manifesting itself when also filtering againt a related
model as that forces the usage of a subquery because SQLUpdateCompiler doesn't
support the UPDATE FROM syntax yet.
Regression in 65ad4ade74.
Refs #28900.
Thanks Gav O'Connor for the detailed report.
This commit is contained in:
committed by
Sarah Boyce
parent
27ffccc96b
commit
8ef4e0bd42
@@ -1250,8 +1250,9 @@ class QuerySet(AltersData):
|
||||
new_order_by.append(col)
|
||||
query.order_by = tuple(new_order_by)
|
||||
|
||||
# Clear any annotations so that they won't be present in subqueries.
|
||||
query.annotations = {}
|
||||
# Clear SELECT clause as all annotation references were inlined by
|
||||
# add_update_values() already.
|
||||
query.clear_select_clause()
|
||||
with transaction.mark_for_rollback_on_error(using=self.db):
|
||||
rows = query.get_compiler(self.db).execute_sql(ROW_COUNT)
|
||||
self._result_cache = None
|
||||
|
||||
Reference in New Issue
Block a user