id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 10506 Automatically use correct auto-manager class for inherited models Malcolm Tredinnick Malcolm Tredinnick "When creating a subclass of a model with a default manager that has `use_for_related_fields = True`, and if the subclass has no explicit manager set, we should use the class of the parent's manager. This is consistent with every other time we create an automatic manager (in fact, the docs added in r10057 hint that we already do this, but it's not quite true for subclasses yet). For multiple base classes, we walk them all and choose the most derived manager satisfying this constraint. It should subclass all the other managers that also do. If there is no such manager (e.g. two different managers subclassing `django.db.models.Manager`), we raise an error and the user has to specify the default manager themselves. This is because there would be no way to ensure that an appropriate `get_query_set()` method id used Using MRO to determine the class type is wrong, since a model that inherits from both an ordinary model and a gis model, in that order, needs a !GeoManager (which already subclasses Manager, so we're fine). When this is done, there's a ""TODO"" in the gis tests that can be removed, too (in a child model). I'll get to this before 1.1, but I had to fix the first parts of this as part of some other yak-shaving and don't want to get distracted on this yet." Bug closed Database layer (models, ORM) dev Normal fixed use_for_related_fields Accepted 0 0 0 0 0 0