Как правильно спроектировать БД с двумя и более типами пользователей в Django?

Здравствуйте.

В проекте используется два типа пользователей: партнер и клиент. Для каждого из типов пользователей есть своя модель профиля: ClientProfile, PartnerProfile. Модели профилей связаны с моделью django.contrib.auth.User, причем пользователь не может быть одновременно и клиентом, и партнером. Связи пользователей с другими моделями могут быть трех типов:

- только клиент
- только партнер
- клиент или партнер

Связь вида "клиент-или-партнер" присутствует (пока что) только один раз - в комментариях.

Подскажите, какие модели лучше использовать для связей "только клиент" и "только партнёр": штатную модель User или модели профилей?
  • Вопрос задан
  • 2714 просмотров
Решения вопроса 1
mututunus
@mututunus
Backend developer (Python, Golang)
Используйте штатную модель User, для определения типа связи напишите валидатор.
А вообще, это плохая идея, хранить так профили, лучше хранить всю информацию в одном профиле или самой моделе пользователя, и определять тип пользователя через специальное поле.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы