Django migration failed: значение поля было объявлено с ленивой ссылкой

Я пытаюсь добиться того, чтобы электронная почта моего пользователя была уникальной. В моем приложении под названием accounts у меня есть следующее models.py, где я создал CustomUser. Затем в модели Employeee ниже есть связь 1:1 с CustomUser.

from django.db import models
from django.conf import settings
from django.contrib.auth.models import AbstractUser


class CustomUser(AbstractUser):
    email = models.EmailField(unique=True)
    groups = models.ManyToManyField(
        'auth.Group',
        related_name='customuser_set',  # Unique related_name to avoid conflict
        blank=True,
        help_text='The groups this user belongs to.',
        verbose_name='groups',
    )
    user_permissions = models.ManyToManyField(
        'auth.Permission',
        related_name='customuser_set',  # Unique related_name to avoid conflict
        blank=True,
        help_text='Specific permissions for this user.',
        verbose_name='user permissions',
    )


    def __str__(self):
        return self.username


# Create your models here.
class Employee(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    number_work_hour_per_week = models.FloatField(
        help_text="Number of working hour per week"
    )
    work_hour_limit = models.BooleanField(
        default=False,
        help_text="If true number_work_hour_per_week applies in the time registration",
    )
    flexible_time_registration = models.BooleanField(
        default=True,
        help_text="Allow the user to register working hour flexible without preregistered time",
    )

    def __str__(self):
        return self.user.username

В моем settings.py я переписал пользователя по умолчанию на accounts.CustomUser

AUTH_USER_MODEL = 'accounts.CustomUser'

Когда я выполняю python manage.py migrate, я получаю следующий стек ошибок

Я не уверен в этой ошибке, так как в settings.py я указываю AUTH_USER_MODEL = 'accounts.CustomUser', так почему же в стеке ошибок говорится, что в учетных записях нет модели customuser (когда на самом деле должно быть CustomUser)

В папке migrations под учетными записями у меня есть 3 py файла

и 0003_alter_customuser_groups_and_more.py

# Generated by Django 5.1 on 2024-08-18 16:37

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("accounts", "0002_customuser"),
        ("auth", "0012_alter_user_first_name_max_length"),
    ]

    operations = [
        migrations.AlterField(
            model_name="customuser",
            name="groups",
            field=models.ManyToManyField(
                blank=True,
                help_text="The groups this user belongs to.",
                related_name="customuser_set",
                to="auth.group",
                verbose_name="groups",
            ),
        ),
        migrations.AlterField(
            model_name="customuser",
            name="user_permissions",
            field=models.ManyToManyField(
                blank=True,
                help_text="Specific permissions for this user.",
                related_name="customuser_set",
                to="auth.permission",
                verbose_name="user permissions",
            ),
        ),
    ]

Я не могу удалить свою базу данных, так как база данных находится в производстве.

Вернуться на верх