Нет способа выразить параметры администратора внутри определения модели как внутренний класс в последней версии. Но нет причины, по которой вы не можете поместить свой класс ModelAdmin сразу после вашего класса Model в свой файл models.py. После этого вы можете просто позвонить в admin.site.register () сразу после определения.
Вы можете столкнуться с проблемой, что register () вызывается более одного раза для модели, что приведет к ошибке. models.py должен загружаться только один раз, так что это должно работать. Если нет, вы можете определенно объявить свой класс ModelAdmin в models.py, а затем поместить все ваши вызовы register () в admin.py.
Вот несколько причин, по которым я могу представить это в admin.py:
- Конвенция - кажется, это становится лучшей практикой.
- Разделение - определения администратора не имеют большого отношения к модели.
- Чистота - возможно, нет необходимости заполнять файл models.py вещами, которые вы не собираетесь сильно менять.
Но если ваш файл models.py не будет очень длинным, я вижу привлекательность наличия их рядом друг с другом.