|
@@ -369,11 +369,16 @@ class Options(object):
|
|
|
@cached_property
|
|
|
def managers(self):
|
|
|
managers = []
|
|
|
+ seen_managers = set()
|
|
|
bases = (b for b in self.model.mro() if hasattr(b, '_meta'))
|
|
|
for depth, base in enumerate(bases):
|
|
|
for manager in base._meta.local_managers:
|
|
|
+ if manager.name in seen_managers:
|
|
|
+ continue
|
|
|
+
|
|
|
manager = copy.copy(manager)
|
|
|
manager.model = self.model
|
|
|
+ seen_managers.add(manager.name)
|
|
|
managers.append((depth, manager.creation_counter, manager))
|
|
|
|
|
|
# Used for deprecation of legacy manager inheritance,
|
|
@@ -387,7 +392,7 @@ class Options(object):
|
|
|
|
|
|
@cached_property
|
|
|
def managers_map(self):
|
|
|
- return {manager.name: manager for manager in reversed(self.managers)}
|
|
|
+ return {manager.name: manager for manager in self.managers}
|
|
|
|
|
|
@cached_property
|
|
|
def base_manager(self):
|