Правильный способ расширения AbstractUser в Django?

Я пытаюсь интегрировать два приложения django, в которых каждый из них работал с отдельными auths. Для этого я пытаюсь выполнить подкласс AbstractUser вместо User. Я следую за документами PyBB и Django # substituting_custom_model . Я удалил все файлы миграции во всех моих приложениях отдельно от их отдельных init .py (включая миграцию из библиотеки PyBB, сидящей на моих сайтах-пакетах). Я также изменил базу данных Mysql на пустую, чтобы начать заново, и я пытаюсь подклассифицировать AbstractUser, как показано ниже.

Мои Models.py:

from django.contrib.auth.models import User from django.contrib.auth.models import AbstractUser from django.db import models class Student_User(models.Model): """ Table to store accounts """ su_student = models.OneToOneField(AbstractUser) USERNAME_FIELD = 'su_student' su_type = models.PositiveSmallIntegerField(db_column='su_type', default=0) su_access = models.TextField(db_column='su_access', default='') su_packs = models.TextField(db_column='su_packs', default='') REQUIRED_FIELDS = [] def __unicode__(self): return str(self.su_student) 

Мои настройки.py:

 AUTH_USER_MODEL = "app.Student_User" PYBB_PROFILE_RELATED_NAME = 'pybb_profile' 

При запуске makemigrations для моего основного приложения я получаю эту ошибку:

 app.Student_User.su_student: (fields.E300) Field defines a relation with model 'AbstractUser', which is either not installed, or is abstract. 

Как я могу достичь того, что я пытаюсь сделать здесь?

PS: приложение отлично работает с onetoone с пользователем без username_field или required_field.

PPS: Я только что проверил модель AbstractUser в моих вкладках Contrib.auth.models и имеет class Meta: abstract = True . Хорошо, так что его абстракция, тем не менее, как мне это разрешить? Мне просто нужен один логин, в настоящее время, две части моего сайта, хотя они связаны через URL-адреса, запрашивают отдельные логины и не регистрируют логины других пользователей. Что мне нужно сделать для этого?

One Solution collect form web for “Правильный способ расширения AbstractUser в Django?”

Вы не можете иметь отношения «один к одному» с абстрактной моделью; по определению абстрактная модель никогда не создается на практике.

AbstractUser предполагается наследовать . Ваша структура должна быть:

 class Student_User(AbstractUser): ... 
Python - лучший язык программирования в мире.