Где и как определяется атрибут объектов django Model? - PullRequest
1 голос
/ 20 июля 2009

Я пытаюсь разобраться в Django ORM. Я читал исходный код django.db.models.base.py, но все еще мог понять, как определяются атрибуты Model.objects в нашем объекте Model. Кто-нибудь знает, как django добавляет атрибуты объектов в наш объект Model?

Заранее спасибо

1 Ответ

5 голосов
/ 20 июля 2009

Django ORM интенсивно использует метаклассы Python. От Википедия :

В объектно-ориентированном программировании метакласс - это класс, экземплярами которого являются классы. Так же, как обычный класс определяет поведение определенных объектов, метакласс определяет поведение определенных классов и их экземпляров.

Вот сообщение в блоге, которое описывает, как метаклассы используются в ORM Django: Как, черт возьми, работают модели Django

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...