Создать метод модели для общего приложения на основе проекта?

Я не могу найти хорошее решение этой проблемы:

У меня есть приложение, которое имеет общую модель User (AbstractUser)

Это приложение используется совместно несколькими проектами (у которых есть свои собственные приложения)

Структура выглядит примерно так:

  • Проект X

    • Приложение A
    • Приложение B
  • Проект Y

    • Приложение A
    • Приложение C
    • Приложение D
  • Проект Z

    • Приложение A
    • Приложение E
    • App F

Я нахожусь на этапе, когда мне нужно добавить метод модели на модель User в Project Z, чтобы сделать жизнь проще. Он будет выполнять некоторую бизнес-логику с участием других моделей из других связанных приложений в Project Z.

Я не могу добавить этот метод непосредственно в модель User, потому что тогда другие проекты потерпят неудачу - поскольку они не будут содержать все ссылающиеся модели.

Какой лучший способ достичь этого в Django?

Должен ли я создать ProjectZUser, который наследует общую модель User и добавить методы на эту модель?

Вернуться на верх