Django: облегченные пользователи?

Задача:
- Разделить логику работы с пользователями на 2 части:
-- Администраторы(модераторы, как угодно)
-- Пользователи приложения
- пользователи приложения не имеют практически ничего(никаких групп, прав, паролей, имен пользвоаетля, email). только некоторый профиль в котором хранится всякая чепуха
- необходимо иметь возможность работать с неким дубликатом модели User, ланные которой бы были усечены до одного единственного идентификатора и не пересекались бы со стандартной таблицей.

В общем-то мне просто интересно как можно разрулить такую задачу.
  • Вопрос задан
  • 2932 просмотра
Пригласить эксперта
Ответы на вопрос 2
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
@freydev
в Django 1.6 появилась возможность полностью переопределить модель User расширив AbstractBaseUser, и указав в settings.py AUTH_USER_MODEL = 'login.NewUserProfile'

class UserNewProfile(AbstractBaseUser):
    user_id = models.CharField(max_length=255, unique=True)
    # password уже определен в AbstactBaseUser
    # любые поля

    USERNAME_FIELD = 'user_id'
    REQUIRED_FIELDS = []


Так мы имеем сущность пользователя без обязательных полей, в том числе пароля, залогиниться в админку вы без пароля не сможете, но сам пользователь со своим набором полей будет сущевствовать.

Для решения вашей задачи возможно потребуется написать свой менеджер от BaseUserManager. Когда вы засинкаете такую модель пользователя, все другие таблицы типо групп и прав не будут созданы, а еще придется написать класс для админки, иначе пользователи не будут отображаться.

Почитать про это можно здесь https://docs.djangoproject.com/en/dev/topics/auth/...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы