1
0
mirror of https://github.com/django/django.git synced 2025-05-06 06:56:30 +00:00

Made Collector.collect() return immediately for disabled related collection.

This commit is contained in:
Simon Charette 2019-10-06 21:48:14 +02:00 committed by Mariusz Felisiak
parent 832aa08afe
commit 44522d1036

View File

@ -210,7 +210,9 @@ class Collector:
source_attr=ptr.remote_field.related_name, source_attr=ptr.remote_field.related_name,
collect_related=False, collect_related=False,
reverse_dependency=True) reverse_dependency=True)
if collect_related: if not collect_related:
return
if keep_parents: if keep_parents:
parents = set(model._meta.get_parent_list()) parents = set(model._meta.get_parent_list())
for related in get_candidate_relations_to_delete(model._meta): for related in get_candidate_relations_to_delete(model._meta):
@ -242,6 +244,7 @@ class Collector:
sub_objs = sub_objs.only(*tuple(referenced_fields)) sub_objs = sub_objs.only(*tuple(referenced_fields))
if sub_objs: if sub_objs:
field.remote_field.on_delete(self, field, sub_objs, self.using) field.remote_field.on_delete(self, field, sub_objs, self.using)
for field in model._meta.private_fields: for field in model._meta.private_fields:
if hasattr(field, 'bulk_related_objects'): if hasattr(field, 'bulk_related_objects'):
# It's something like generic foreign key. # It's something like generic foreign key.