Менеджер недоступен через экземпляр класса

Недавно я столкнулся с Manager isn't accessible via model instance этой ошибкой.

Прочитав Django doc, я смог решить эту проблему.

https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-objects

В документации по Django упоминается следующая причина:

Managers are accessible only via model classes, rather than from model instances, to enforce a separation between “table-level” operations and “record-level” operations.

Я не могу понять вышеприведенное утверждение.

Может ли кто-нибудь объяснить это простыми словами

MyModel.objects.all()  # Allowed to access manager (MyModel.objects) via the model

instance = MyModel.objects.get(id=1)
instance.objects.all()  # ERROR! Not allowed to access manager (instance.objects) via instance
Вернуться на верх