Я новичок в джанго. Я использую 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 включает («пользователи» — это имя приложения):
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.