Я пытаюсь реорганизовать мой код для серии моделей Django, но это справедливо для общего импорта python. Позвольте мне объяснить мою установку и проблемы (с укомплектовать поддельные классы и т.д.)Импорт модулей Python для переопределения пространства имен/__ repr__ для рефакторинга
APP_ROOT/
|- __init__.py
|- tests/
|- urls.py
|- models/
| |- __init__.py
| |- BunchOfModels.py
| |- SomeMoreModels.py
\- admin.py
в models.__init__
:
# models/__init__.py
from APP_ROOT.models.BunchOfModels import *
from APP_ROOT.models.SomeMoreModels import *
это позволяет мне сделать следующее:
from APP_ROOT.models import SuperModel
# Where SuperModel is in SomeMoreModels
Проблема заключается в том, что класс Реестр:
<class 'project.APP_ROOT.models.SomeMoreModels.SuperModel'>
, который испортил внешние ключи.
мой вопрос:
Есть ли способ сделать это так, чтобы все мои классы имеют магнезии больше как: <class 'project.APP_ROOT.models.SuperModel'>
без вручную перегрузки __repr__
для каждого класса. Я даже не уверен, что это решит проблему, и даже если бы это произошло, это не очень хорошо переносило бы.
или мне нужно вернуться к использованию одной большой, уродливый файл ...
Django не рекомендует распространять ваши модели на несколько файлов. – San4ez