summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2025-11-07 10:07:21 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2025-12-17 18:37:18 +0100
commit12d574407c466c7929e455cfcfef4c0ff564e465 (patch)
tree8db15a70c0280ae5c506b63f81e98aedd52f8055
parent6fc2406fc534f97f245b8267703ab598a020fee5 (diff)
Refs #27380 -- Added ManyRelatedManager.set_base() hook.
-rw-r--r--django/db/models/fields/related_descriptors.py5
1 files changed, 4 insertions, 1 deletions
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):