@rumak

Как добавить каждой из групп пользователей свои поля?

Всем привет!

Есть две группы (пока лишь в голове), назовём их "Группа 1" и "Группа 2". У каждой из этих групп должны быть свои собственные поля, а также общие для обоих. Эти поля будут отображаться в профиле пользователя, основываясь на одной из групп. (Пытался без общих)

Вот схемка с общими полями:
59ff54d79d1a8041155181.png
Без общих:
59ff57201a79e758574858.png

Вопрос: как это реализовать? Как расширить модель User понимаю, но попытки разделить их на две группы провалились.
Расширял следующим образом:
1) Создал приложение "user"
2) Создал модель первой группы, связанной с помощью OneToOneField с User.
3) Создал модель второй группы, связанной с помощью OneToOneField с User.
4) Вставил receiver для создания и сохранения usera.

Но после этого не смог зайти в админку Django. Ругались на меня так: User is not profile.

Спасибо!
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
Xaip
@Xaip
Лучше всего переписать модель user унаследовав AbstractUser.
Внутри модели можно прописать права с помощью булевых значений, например:
is_rule1 = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)

Еще придется переписать Usermanager, и при создании пользователей через create_user или create_superuser и.т.д. включать или выключать права
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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