MCPcopy
hub / github.com/django/django / _clear

Method _clear

django/db/models/fields/related_descriptors.py:975–986  ·  view source on GitHub ↗
(self, queryset, bulk)

Source from the content-addressed store, hash-verified

973 aclear.alters_data = True
974
975 def _clear(self, queryset, bulk):
976 self._remove_prefetched_objects()
977 db = router.db_for_write(self.model, instance=self.instance)
978 queryset = queryset.using(db)
979 if bulk:
980 # `QuerySet.update()` is intrinsically atomic.
981 queryset.update(**{self.field.name: None})
982 else:
983 with transaction.atomic(using=db, savepoint=False):
984 for obj in queryset:
985 setattr(obj, self.field.name, None)
986 obj.save(update_fields=[self.field.name])
987
988 _clear.alters_data = True
989

Callers 2

removeMethod · 0.95
clearMethod · 0.95

Calls 5

db_for_writeMethod · 0.45
usingMethod · 0.45
updateMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected