Как импортировать класс python в случае django
почему мы импортируем именно так. from django.db.models import Model, Класс Model находится внутри base.py, а не models.
ожидая, что из django.db.models.base import Model, почему модуль base опущен. django/db/models/base.py - это структура
Он реэкспортирован в __init__.py
[GitHub], действительно:
from django.db.models.base import DEFERRED, Model #isort:skip # … __all__ = aggregates_all + constraints_all + enums_all + fields_all + indexes_all __all__ += [ # … "Model", # … ]
поэтому вы можете импортировать его как из модуля django.db.models.base
, так и из модуля django.db.models
: он ссылается на один и тот же класс.
В реэкспортах обычно группируются некоторые часто используемые классы и функции, чтобы сделать их более доступными.