Сброс пароля Django для пользовательской модели пользователя в Django 1.5?

У меня есть пользовательский User model вроде этого:

class User(AbstractBaseUser):
    username = models.CharField(max_length=90, unique=True, db_index=True)
    create_time = models.DateTimeField(null=True, blank=True)
    update_time = models.DateTimeField(null=True, blank=True)
    email = models.CharField(max_length=225)
    external = models.IntegerField(null=True, blank=True)
    deleted = models.IntegerField(null=True, blank=True)
    purged = models.IntegerField(null=True, blank=True)
    form_values_id = models.IntegerField(null=True, blank=True)
    disk_usage = models.DecimalField(null=True, max_digits=16, decimal_places=0, blank=True)
    is_superuser = models.BooleanField()
    is_staff = models.BooleanField()
    is_active = models.BooleanField()
    date_joined = models.DateTimeField()
    objects = UserManager()
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']
    class Meta:
        db_table = u'galaxy_user'

Я создал все необходимые шаблоны для сброса пароля. Имя моего приложения — fileupload. Итак, когда я делаю это из оболочки Django, я получаю что-то вроде этого:

>>> from django.contrib.auth.models import User
>>> User.objects.all()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 256, in __get__
    self.model._meta.object_name, self.model._meta.swapped
AttributeError: Manager isn't available; User has been swapped for 'fileupload.user'
>>> 

Как я могу настроить сброс пароля Django для работы с моей пользовательской моделью. Спасибо


person pynovice    schedule 24.06.2013    source источник


Ответы (2)


Вы должны использовать get_user_model

from django.contrib.auth import get_user_model
User = get_user_model()

User.objects.all()
person Ngenator    schedule 24.06.2013
comment
Я не ищу ответа на это. Я хочу знать, как использовать сброс пароля django с моей пользовательской моделью. - person pynovice; 24.06.2013

Я считаю, что вам нужно добавить

AUTH_USER_MODEL = <path_to_your_custom_User_model>

В settings.py вашего проекта

person Nano Tellez    schedule 10.07.2020