1

我正在尝试为 Django 中的两组不同用户实现身份验证系统。一个学生(使用他的用户名和密码),一个开发者(使用他的电子邮件和密码)。目前我有一个(通用)UserProfile 模型,将由学生、开发人员共享。这是我的模型代码:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    name = models.CharField(max_length=50, null=True, blank=True)
    slug = models.SlugField(max_length=50, db_index=True, unique=True)#this will be used as his unique url identifier
    objects = UserProfileManager()

    class Meta:
        abstract = True

class Student(UserProfile):
     ''' some student specific fields might go here '''

class Developer(UserProfile):
    ''' some developer specific fields might go here '''

在 settings.py 我给了:

AUTH_PROFILE_MODULE = 'users.UserProfile'

我正在使用 UserProfile 模型进行身份验证。但我一介绍 Student, Developer,整个事情就搞砸了。我正进入(状态

UserProfile 没有属性“DoesNotExist”

(这是来自 UserProfileManager 的存在方法)以及

SiteProfileNotAvailable

错误。(甚至在我开始编写电子邮件身份验证后端之前,我就收到了这些错误。)。我错过了什么吗?实现我想要的最佳途径是什么。

4

1 回答 1

0

问题可能是 UserProfile 的抽象定义。当您离开“abstract = True”时,事情应该会起作用。但请注意这将如何改变您的表格方案。

于 2010-11-26T01:57:39.467 回答