Я пытаюсь внедрить систему аутентификации для двух разных групп пользователей в 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. Но как только я представил Студента, Разработчик все облажался. Я получаю
UserProfile не имеет атрибута
'DoesNotExist'
(это из метода UserProfileManager существует), а также
SiteProfileNotAvailable
ошибка. (Я получаю эти ошибки еще до того, как начал писать бэкэнд аутентификации электронной почты.). Я что-то пропустил? Каков наилучший путь для достижения того, чего я хотел.