나는 각각의 auths가 작동하는 두 개의 django 응용 프로그램을 통합하려고합니다. 이를 위해 User 대신 AbstractUser를 하위 클래스로 만들려고합니다. PyBB docs 및 Django#substituting_custom_model을 팔로우하고 있습니다. 개별 .py (내 사이트 패키지에있는 PyBB 라이브러리의 마이그레이션 포함) 이외의 모든 모든 마이그레이션 파일을 제거했습니다. 또한 새 데이터베이스를 빈 데이터베이스로 변경하여 AbstractUser를 하위 클래스로 만들려고합니다.Django에서 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)
내 settings.py :
app.Student_User.su_student: (fields.E300) Field defines a relation with model 'AbstractUser', which is either not installed, or is abstract.
가 어떻게 :
AUTH_USER_MODEL = "app.Student_User"
PYBB_PROFILE_RELATED_NAME = 'pybb_profile'
내 기본 앱 makemigrations를 실행, 나는이 오류 나는 여기서 뭘하려고 노력하고 있는가?
추신 :이 응용 프로그램은 username_field 또는 required_field없이 User와 함께 onetoone으로 잘 작동하고 있습니다.
PPS : 내 contrib.auth.models에서 AbstractUser 모델을 확인했으며 class Meta: abstract = True
입니다. 좋아, 그럼 추상, 아직도, 어떻게 해결합니까? 난 단지 하나의 로그인, 현재, 내 사이트의 두 부분, URL을 통해 연결되어 있지만 별도의 로그인을 요구하고 서로 다른 로그인을 감지하지 않아도됩니다. 이 일을 위해 무엇을해야합니까?