С Django это немного больше, чем самоанализ. Модели используют метакласс для регистрации, я избавлю вас от сложностей всего, что связано с этим, но администратор не анализирует модели при просмотре.
Вместо этого процесс регистрации создает на модели объект _meta
со всеми данными, необходимыми для администратора и ORM. Вы можете увидеть метакласс ModelBase
в django/db/models/base.py
, как вы можете видеть в функции __new__
, он просматривает все поля, чтобы добавить их к объекту _meta
. Сам объект _meta
генерируется динамически с использованием определения класса Meta
в модели.
Вы можете увидеть результат с print SomeModel._meta
или print SomeModel._meta.fields