From 12d574407c466c7929e455cfcfef4c0ff564e465 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 7 Nov 2025 10:07:21 +0100 Subject: Refs #27380 -- Added ManyRelatedManager.set_base() hook. --- django/db/models/fields/related_descriptors.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index 866fc58fc2..622c49837f 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -1352,7 +1352,7 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): aclear.alters_data = True - def set(self, objs, *, clear=False, through_defaults=None): + def set_base(self, objs, *, clear=False, through_defaults=None): # Force evaluation of `objs` in case it's a queryset whose value # could be affected by `manager.clear()`. Refs #19816. objs = tuple(objs) @@ -1387,6 +1387,9 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): *new_objs, through_defaults=through_defaults, using=db ) + def set(self, objs, *, clear=False, through_defaults=None): + self.set_base(objs, clear=clear, through_defaults=through_defaults) + set.alters_data = True async def aset(self, objs, *, clear=False, through_defaults=None): -- cgit v1.3