Как правильно спроектировать БД с двумя и более типами пользователей в Django?
Здравствуйте.
В проекте используется два типа пользователей: партнер и клиент. Для каждого из типов пользователей есть своя модель профиля: ClientProfile, PartnerProfile. Модели профилей связаны с моделью django.contrib.auth.User, причем пользователь не может быть одновременно и клиентом, и партнером. Связи пользователей с другими моделями могут быть трех типов:
- только клиент
- только партнер
- клиент или партнер
Связь вида "клиент-или-партнер" присутствует (пока что) только один раз - в комментариях.
Подскажите, какие модели лучше использовать для связей "только клиент" и "только партнёр": штатную модель User или модели профилей?
Используйте штатную модель User, для определения типа связи напишите валидатор.
А вообще, это плохая идея, хранить так профили, лучше хранить всю информацию в одном профиле или самой моделе пользователя, и определять тип пользователя через специальное поле.