2014-02-10 3 views
0

Я пытаюсь унаследовать от AbstractUSer мой models.py выглядит следующим образом:Django AbstractUser не работает должным образом

class MyUser(AbstractUser):   
    created = models.DateTimeField(auto_now_add=True) 

    USERNAME_FIELD = 'email' 
    REQUIRED_FIELDS = ['username',] 

MyUser._meta.get_field_by_name('email')[0]._unique=True 

сейчас, объявляя по электронной почте как уникальное поле и имя пользователя в соответствующее поле моего суперпользователя создается успешно, а также аутентифицируются должным образом, но у меня возникли проблемы при создании любого другого пользователя, как если бы я создаю любой пользователь через мою страницу админ его не будучи authenticated.It всегда возвращает

None

Мой admin.py:

from django.contrib import admin 
from credilet.models import * 

admin.site.register(MyUser) 

То, что я имею в виду, что create_user не вызывается должным образом, как если бы я увидеть в моей странице администратора пароль не хэшированного так, что означает, что create_user не вызывается properly.Somebody пожалуйста, помогите через него, или даже если у вас есть необходимые документы на abstractuser

не

abstractbaseuser

поэтому, пожалуйста, что мне в решении s.

Благодаря

ответ

0

Если вы хотите изменить систему аутентификации, вы должны использовать AbstractBaseUser, look at this full example.

AbstractUser в порядке Extend Django’s default User.

+0

Я просто хочу использовать электронную почту в качестве своего имени пользователя, но, расширив ее через абстрактного базового пользователя, мне нужно пройти через всю бэкэнд-систему. Я имею в виду, что я должен определить свой пользовательский create_user и create_superuser и все это, и для избежания того, что я использовал Абстрактный пользователь, так что есть ли возможность, что я мог бы использовать абстрактного пользователя и просто определить мое имя пользователя и остальные вещи так же, как пользовательский объект django – saurabh

Смежные вопросы