私はdjangoでかなり新しいです。認証システムを構築し、ユーザープロファイルをmongodbに保存するために、django、mongoengine、django-social-authを使用しています。
次のように、djangoが提供する「カスタムユーザーモデル」メカニズムを使用しています。
from mongoengine import *
from mongoengine.django.auth import User
class UserProfile(User):
imageUrl = URLField()
def __init__(self):
User.__init__()
settings.py include ('users' はアプリ名):
SOCIAL_AUTH_USER_MODEL = 'users.UserProfile'
「python manage.py runserver」を実行すると、次のエラーが発生しました。
social_auth.usersocialauth: 'user' has a relation with model users.UserProfile, which has either not been installed or is abstract.
次のように、UserProfile クラスを models.Model から継承するように変更すると、次のようになります。
from mongoengine import *
from mongoengine.django.auth import User
from django.db import models
class UserProfile(models.Model):
imageUrl = URLField()
def __init__(self):
User.__init__()
「python manage.py runserver」を実行すると、問題なく開発サーバーが起動しました。
したがって、カスタム ユーザー モデルは models.Model から継承する必要があると思います。mongoengine.django.auth.User からカスタム ユーザー モデルを継承するにはどうすればよいでしょうか。