Django で 2 つの異なるユーザー セットの認証システムを実装しようとしています。学生 (ユーザー名とパスワードを使用)、開発者 (メールとパスワードを使用)。現在、学生、開発者によって共有される (共通の) 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 exists メソッドからのものです) また、
SiteProfileNotAvailable
エラー。(メール認証バックエンドを書き始める前から、これらのエラーが発生しています。) 私は何か不足していますか?私が望んでいたことを達成するために従うべき最善の道は何ですか。