Основная идея Django состоит в объединении всей функциональности приложения, но это не выполняется в вашем случае. Это вопрос стиля и мнения, вот что я сделал в подобной ситуации.
Сплит функциональность приложения на два логова проекта:
mysite
|
| - db_access
| | --- app1
| | ---- models.py
| | ---- db_api.py
| | --- app2
| | ---- models.py
| | ---- db_api.py
| - service
| | --- app1
| | ---- urls.py
| | ---- views.py
| | --- app2
| | ---- urls.py
| | ---- views.py
db_access часть имеет модели, и db_api.py
имеет запросы, получить объекты и т.д., так что вы не опрашивать модели, но db_api.
Вместо
item = app1.models.Items.objects.get(user=request.user)
Использование
item = app1.db_api.get_first_item(user=request.user)
Этот стиль позволяет разделить дб & модели доступа вместе, в то время как каждая служба потребляет то, что ему нужно, а затем использовать его для API, веб-сайт и т.д. ,Если служба использует некоторые данные таким образом, что другие сервисы не используются (и не будут), тогда поместите этот запрос в код службы, иначе в db_api.py.
Это больше похоже на традиционное приложение, но оно работает.
Другое дело, что в одном проекте можно использовать два репозитория git, один для db_access (который все сервисы вытягивают), и один для конкретного сервиса. Поэтому каждый проект django на самом деле является репозиторией db_access, а служба repo-wsgi не заботится, конечно, если код проекта исходит из двух репозиториев.
, пожалуйста, используйте это! –