Добавить методы модели в модель Django на основе каждого приложения? Модель, разделяемая между приложениями
Мне интересно, как лучше поступить в этой ситуации:
У меня есть приложение, которое имеет модель User
(AbstractUser
); она включает все обычные атрибуты (username
, is_superuser
, is_staff
и т.д.)
Это приложение используется совместно несколькими проектами (у которых есть свои собственные приложения)
Структура выглядит примерно так:
Project X
App A
App B
Project Y
App A
App C
App D
Project Z
App A
App E
App F
Я нахожусь на этапе, когда мне нужно добавить метод модели на эту модель User
в Project Z
, чтобы облегчить жизнь. Он будет выполнять некоторую бизнес-логику с участием других моделей из других связанных приложений. Фильтрация материалов из App E
и App F
и т.д.
Я не могу добавить этот метод непосредственно в модель User
, потому что тогда другие проекты потерпят неудачу, поскольку у них нет доступа к этим другим проектам.
Какой лучший способ достичь этого в Django?