diff --git a/model_utils/managers.py b/model_utils/managers.py index 8204480..ba8ea63 100644 --- a/model_utils/managers.py +++ b/model_utils/managers.py @@ -86,11 +86,14 @@ class InheritanceQuerySetMixin: return new_qs def _chain(self, **kwargs): + update = {} for name in ['subclasses', '_annotated']: if hasattr(self, name): - kwargs[name] = getattr(self, name) + update[name] = getattr(self, name) - return super()._chain(**kwargs) + chained = super()._chain(**kwargs) + chained.__dict__.update(update) + return chained def _clone(self, klass=None, setup=False, **kwargs): qs = super()._clone()