在Django 1.5上自定义用户模型上重置Django密码?

时间:2013-06-24 10:40:17

标签: django forgot-password 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 shell时,我得到这样的东西:

>>> 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密码重置以适应我的自定义用户模型。感谢

2 个答案:

答案 0 :(得分:0)

您应该使用get_user_model

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

User.objects.all()

答案 1 :(得分:0)

我相信您需要添加

AUTH_USER_MODEL = <path_to_your_custom_User_model>

转到您项目的settings.py