Django, общая модель, используемая в нескольких приложениях
В моем проекте есть приложения с именами "developer" и "startup"
В приложении разработчика и запуска, мне нужна таблица с именем "languages", которая подразумевает, что язык, используемый разработчиком, и язык, используемый запуском.
Итак, я сделал модель под названием "languages", но я думаю о том, сделать ли это в приложении разработчика или в стартовом приложении, или сделать новое приложение и сделать это в нем.
Когда я сделал его в приложении developer, я мог использовать его, импортируя startup application models.py. Но на самом деле, я не думаю, что таблица "languages" более актуальна для приложения "developler", чем для "startup".
Как мне поступить?
Я сослался на ссылку https://stackoverflow.com/questions/4137287/sharing-models-between-django-apps
Насколько я понимаю из вашего контекста: языковая модель (если она вообще нужна) должна идти к разработчику, потому что именно разработчик тесно связан с языком, и в основном будет потреблять его в представлениях, сериализаторе и т.д.
В общем, мы следуем этим трем основным правилам
- Сохраняйте приложения небольшими Каждое приложение
- Делает одну вещь хорошо
- Храните приложения отдельно, чтобы их можно было экспортировать и использовать в других местах
Просто держите эти простые базовые правила перед собой всякий раз, когда определяете новую модель в приложении Django.