Переименование пользовательской модели, созданной расширением Абстрактного пользователя - PullRequest
1 голос
/ 10 июля 2019

Я создал пользовательскую модель с помощью расширенного AbstractUser.Теперь я хочу переименовать свою модель.

Я выполнил миграцию, но получаю сообщение об ошибке

class MyUser(AbstractUser):
    is_student = models.BooleanField(default=False)
    is_teacher: bool = models.BooleanField(default=False)
    username = models.CharField(max_length=10, blank=False, unique=True)
    email = models.EmailField('email address', blank=False)
    first_name = models.CharField(max_length=50, blank=False)
    last_name = models.CharField(max_length=50, blank=False)

Класс MyUser ранее назывался User

class TeacherProfile(PersonProfile):
    class Meta:
        verbose_name_plural = 'Teacher Profiles'

    user = models.OneToOneField(MyUser, on_delete=models.CASCADE, null=True, related_name='teacher_profile')
    doj = models.DateField("Date of Joining", null=True, blank=False)
    photo = models.ImageField(upload_to='teacher/')

У меня также есть onetooneОтношения как и

class StudentProfile(PersonProfile):
    class Meta:
        verbose_name_plural = 'Student Profiles'

    YEAR_CHOICES = []
    for r in range(1980, datetime.datetime.now().year + 1):
        YEAR_CHOICES.append((r, r))

    user = models.OneToOneField(MyUser, on_delete=models.CASCADE, null=True, related_name='student_profile')
    gr_phone_no = models.CharField("Guardian's Phone No", max_length=10)
    yoe = models.IntegerField('year of enrollment', choices=YEAR_CHOICES,
                              default=datetime.datetime.now().year)
    photo = models.ImageField(upload_to='student/%Y/')

Я получаю эту ошибку при миграции

    raise ValueError("\n".join(error.msg for error in errors))
ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'main.myuser', but app 'main' doesn't provide model 'myuser'.
The field main.StudentProfile.user was declared with a lazy reference to 'main.myuser', but app 'main' doesn't provide model 'myuser'.
The field main.TeacherProfile.user was declared with a lazy reference to 'main.myuser', but app 'main' doesn't provide model 'myuser'.

Структура проекта выглядит так: Project Structure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...