Работая над своими проектами на основе Django, я всегда стараюсь следовать подходу Django к многоразовым приложениям — я пытаюсь отделить свои приложения друг от друга и особенно стараюсь избегать перекрестных ссылок, но иногда это кажется невозможным.
Рассмотрим простой пример с 2 приложениями: статьи и пользователи. Приложение «Статьи» определяет модель статьи, представление списка статей и представление одной статьи, приложение «Пользователи» определяет модель пользователя и представление профиля пользователя. Статья ссылается на пользователя из поля автора, поэтому применение статей, очевидно, зависит от приложения пользователя, и это нормально.
Но когда дело доходит до профиля пользователя, я хочу отображать последние статьи, созданные пользователем (и, возможно, последние статьи, просмотренные пользователем) на этой странице, но это делает приложение пользователей осведомленным о приложении статей, чего я пытаюсь избежать. .
Я, конечно, могу попытаться вытолкнуть все такие ссылки на уровень шаблона, но это все равно не решает проблему полностью и в то же время может быть иногда очень неэффективным с точки зрения запросов к базе данных.
Ребята, что вы делаете в таких случаях?