我对 django 很陌生。我正在使用 django、mongoengine、django-social-auth 来构建身份验证系统并将用户配置文件存储在 mongodb 中。
我正在使用 django 提供的“自定义用户模型”机制,如下所示:
from mongoengine import *
from mongoengine.django.auth import User
class UserProfile(User):
imageUrl = URLField()
def __init__(self):
User.__init__()
settings.py 包括('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 继承我的自定义用户模型。