diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2025-11-07 10:07:21 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2025-12-17 18:37:18 +0100 |
| commit | 12d574407c466c7929e455cfcfef4c0ff564e465 (patch) | |
| tree | 8db15a70c0280ae5c506b63f81e98aedd52f8055 | |
| parent | 6fc2406fc534f97f245b8267703ab598a020fee5 (diff) | |
Refs #27380 -- Added ManyRelatedManager.set_base() hook.
| -rw-r--r-- | django/db/models/fields/related_descriptors.py | 5 |
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): |
