Refs #27380 -- Added ManyRelatedManager.set_base() hook.

This commit is contained in:
Mariusz Felisiak
2025-11-07 10:07:21 +01:00
parent 6fc2406fc5
commit 12d574407c

View File

@@ -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):