Каковы преимущества/недостатки при разделении связанных моделей на отдельные приложения в Django

В настоящее время я нахожусь в процессе изучения Django, создавая простое веб-приложение, которое моделирует магазин игрушек. В настоящее время у меня есть 3 приложения в моем проекте Django: Toy, Details и Store, каждое со своей собственной моделью. Toy и Details являются взаимоисключающими, а Store состоит из Toy и Detail, наряду с другими атрибутами. Должен ли я объединить все 3 приложения в одно, или есть преимущество в том, что они разделены?

Просто в качестве примечания: я планирую взаимодействовать с Django исключительно через REST API вызовы из фронтенда.

Это в основном мнение, здесь нет правильного или неправильного, пока вы понимаете структуру вашего проекта. Есть хорошая дискуссия здесь об этом.

С точки зрения плюсов/минусов:

  • Если вы единственный разработчик в проекте, разделение на разные приложения, вероятно, замедлит вашу разработку по нескольким причинам (например, из-за одинаковых имен пакетов, которые необходимо импортировать). Однако, если вы готовы приложить дополнительные усилия, необходимые для сохранения разделенности приложений, это позволит вам легко вносить последующие изменения.
  • .
  • С другой стороны, если вы не единственный разработчик, разделить работу будет проще при наличии нескольких приложений.
  • Разделение на разные приложения позволит вам повторно использовать приложения для разных проектов (Может быть, Details в вашем проекте можно использовать не только для Store?). Это также может позволить вам опубликовать его как django-package.
  • Если вы хотите иметь возможность включать/выключать функции (потому что вы продаете свой проект и имеете несколько уровней с разными функциями и т.д.) - разделение на приложения позволит вам сделать это легко (просто иметь разные файлы настроек с разными INSTALLED_APPS)
  • .
Вернуться на верх