Проблема с регистрацией 2 профильных моделей в Django Admin - PullRequest
0 голосов
/ 08 ноября 2019

Я сделал 2 модели профиля пользователя Профессор и Студент , обе они имеют отношение OneToOne с моделью пользователя Django. Когда я пытаюсь зарегистрировать его в панели администратора, возникает следующая проблема.

django.contrib.admin.sites.AlreadyRegistered: The model User is already registered

Вот мой models.py файл

class Student(models.Model):
    user = models.OneToOneField(to=User, on_delete=models.CASCADE)
    profile_pic = models.ImageField(upload_to='StudentProfilePic', blank=True)
    institution = models.ForeignKey(to=Institution, blank=True, null=True, on_delete=models.CASCADE)
    course = models.CharField(max_length=50, blank=True)
    roll_no = models.IntegerField()

    def __str__(self):
        return self.name


class Professor(models.Model):
    user = models.OneToOneField(to=User, on_delete=models.CASCADE)
    profile_pic = models.ImageField(upload_to='ProfessorProfilePic', blank=True)
    institution = models.ForeignKey(to=Institution, blank=True, null=True, on_delete=models.CASCADE)

    def __str__(self):
        return self.name

admin.py file

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from . models import Student, Professor


admin.site.unregister(User)

class StudentInline(admin.StackedInline):
    model = Student

class StudentUserAdmin(UserAdmin):
    inlines = (StudentInline, )

class ProfessorInLine(admin.StackedInline):
    model = Professor

class ProfessorUserAdmin(UserAdmin):
    inlines = (ProfessorInLine, )


admin.site.register(User, StudentUserAdmin)
admin.site.register(User, ProfessorUserAdmin)

Ошибка возникает в последней строке

admin.site.register(User, ProfessorUserAdmin)
...