Существуют определенные категории приложений, которые в конечном итоге соединяются в других приложениях. Хорошим примером является django.contrib.auth
: если вы используете модель пользователя Django, вы зависите от этого приложения, и ваши собственные приложения сочетаются с ним.
В этом сценарии нет ничего плохого. Я склонен думать об этом меньше как о связи, а о зависимости. Ваше приложение зависит от доступных django.contrib.auth
. Это естественная вещь, потому что вам нужна эта функциональность. Вы всегда можете заменить это приложение другим приложением, которое предоставляет те же интерфейсы, которые вы используете в настоящее время ...
Теперь, если у вас есть два ваших собственных приложения, и им нужны знания о моделях друг друга, я могу думать о двух сценарии:
Вам нужна третья приложение для ваших общих моделей
Они должны быть только одна заявка (редко, вы были причины, чтобы сделать их отдельно, чтобы начать с!)
Как правило, у меня есть приложение core
(так же, как есть django.core
), где я сохраняю код, который является общим для приложений в моем проекте. Если модели разных приложений зависят друг от друга, они перемещаются в это приложение.
Теперь также возможно, что ваши два приложения действительно являются только одним приложением, но это не должно быть мышью по умолчанию. Монолитные приложения - очень плохая вещь (TM).
Мне было интересно в последнее время, если правдоподобно/желательно использовать RESTish API для разговора между приложениями, так же, как если бы мы разговаривали с сервисами издалека ....? – jMyles