2015-11-13 2 views
1

Несколько разных вопросов по этой же теме:Можно ли определить CustomUser и использовать стандартный экран администратора?

Я определил новые классы CustomUser следующим образом: это просто расширение UserClass по умолчанию.

class customUser(AbstractBaseUser): 
    email = models.EmailField(verbose_name='email address', max_length=255, unique=True) 
    first_name = models.CharField(max_length=50, null=True) 
    middle_name = models.CharField(max_length=50, null=True) 
    last_name = models.CharField(max_length=50, null=True) 
    date_of_birth = models.DateField(null=True) 
    Primary_address = models.CharField(max_length=50, null=True) 
    Primary_address_zipcode = models.CharField(max_length=5, null=True) 
    is_active = models.BooleanField(default=False) 
    is_admin = models.BooleanField(default=False) 

Вопрос 1: Можно ли наследовать атрибуты Класс_пользователей по умолчанию (например, first_name и last_name, last_login, first_created) без того, чтобы переопределить в своем новом классе CustomUser?

Вопрос 2: Можно ли использовать существующую страницу пользователя по умолчанию и слегка изменить ее, чтобы она соответствовала моему CustomUser? Я спрашиваю, потому что на странице администрирования по умолчанию есть хорошие поля Group control, last_login и first_created, которые я бы хотел использовать, и я не хочу «воспроизводить» ту же страницу. Было бы неплохо добавить дополнительные поля, которые я определил в разделе «Пользовательский пользователь» в разделе «Информация о пользователе» на странице администрирования по умолчанию.

Default Admin User page

ответ

0

Да. Вы собираетесь использовать AbstractUser вместо AbstractBaseUser.

Подробная информация представлена ​​здесь:

https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#extending-django-s-default-user

Это создает другую таблицу в базе данных (не auth_user), но до сих пор в полной мере распространяется в Django администратора довольно элегантно.

+0

Я хочу использовать электронную почту как уникальный идентификатор вместо имени пользователя (на самом деле я хочу отключить имя пользователя). Могу ли я это сделать, расширив AbstractUser? –

+0

Вы, вероятно, должны изменить свой вопрос, чтобы сказать, что тогда - в противном случае, AbstractUser будет правильным решением. – FlipperPA

+0

Так что я не могу расширить пользователя и отключить имя пользователя с помощью AbstractUser? –