Разница между классами моделей и экземплярами моделей в Django (документация) - PullRequest
0 голосов
/ 21 июня 2019

Я читал документацию Django и перешел эту строку.

     Managers are only accessible via model classes, not the model 
     instances.

Что означает эта строка? Я не в состоянии понять это. Я знаю, что такое классы моделей (представляет таблицу в базе данных, если я не ошибаюсь). Являются ли экземпляры модели такими же, как то, что мы иногда называем «объектами»?

Что означает эта строка на самом деле? Это какая-то концепция ООП или просто Джанго?

1 Ответ

2 голосов
/ 21 июня 2019

Допустим, у вас есть модель X:

class X(models.Model):
    pass

Теперь, если вы хотите получить доступ к методу диспетчера, вам нужно получить доступ к этому:

X.objects.all()

Но следующая строка не будет работать:

> x = X()  # model instance
> x.save()
> x.objects  << will throw error

К вашему сведению: это специфично для Джанго, а не ООП.

...