mirror of
https://github.com/django/django.git
synced 2025-10-28 08:06:09 +00:00
Refs #36075 -- Adjusted pk_fields usage in bulk_update eligibility checks.
Regression in bf7b17d16d.
Thanks Sage Abdullah for the report.
This commit is contained in:
committed by
Sarah Boyce
parent
4bfec242b4
commit
161e79d277
@@ -878,7 +878,10 @@ class QuerySet(AltersData):
|
||||
fields = [self.model._meta.get_field(name) for name in fields]
|
||||
if any(not f.concrete or f.many_to_many for f in fields):
|
||||
raise ValueError("bulk_update() can only be used with concrete fields.")
|
||||
if any(f in self.model._meta.pk_fields for f in fields):
|
||||
all_pk_fields = set(self.model._meta.pk_fields)
|
||||
for parent in self.model._meta.all_parents:
|
||||
all_pk_fields.update(parent._meta.pk_fields)
|
||||
if any(f in all_pk_fields for f in fields):
|
||||
raise ValueError("bulk_update() cannot be used with primary key fields.")
|
||||
if not objs:
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user