@The_XXI

Почему происходит ошибка при миграции?

В файл models.py приложения я добавил класс User, вот весь код файла:
from django.db import models
from django.conf import settings
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    passport = models.CharField(max_length=50, blank=True)
    address = models.CharField(max_length=60, blank=True)
    nationality = models.CharField(max_length=20, blank=True)


class Owner (models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
    name = models.CharField(max_length=50)
    surname = models.CharField(max_length=50)
    birth_date = models.DateField()

    def __str__(self):
        return self.name


class DriverLicense (models.Model):
    TYPE_CHOICES = (
        ('A', 'A'),
        ('B', 'B'),
        ('C', 'C'),
        ('D', 'D'),
        ('E', 'E')
    )
    owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
    number = models.IntegerField()
    date = models.DateField()
    type = models.CharField(max_length=1, choices=TYPE_CHOICES)

    def __str__(self):
        return self.number


class Car (models.Model):
    mark = models.CharField(max_length=50)
    model = models.CharField(max_length=50)
    color = models.CharField(max_length=50)
    state_number = models.CharField(max_length=10)

    def __str__(self):
        return self.mark


class Ownership (models.Model):
    owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
    car = models.ForeignKey(Car, on_delete=models.CASCADE)
    begin_date = models.DateField()
    end = models.DateField()


В файл admin.py приложения я добавил admin.site.register(User)

В settings.py я добавил AUTH_USER_MODEL = 'project_first_app.User'

При команде python manage.py makemigrations пишет:
Migrations for 'project_first_app':
  project_first_app/migrations/0002_auto_20201106_2216.py
    - Create model User
    - Add field user to owner


А при python manage.py migrate выдает ошибку:
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, project_first_app, sessions
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
    output = self.handle(*args, **options)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/core/management/base.py", line 85, in wrapped
    res = handle_func(*args, **kwargs)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 202, in handle
    pre_migrate_apps = pre_migrate_state.apps
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/db/migrations/state.py", line 208, in apps
    return StateApps(self.real_apps, self.models)
  File "/Users/mkuris/Documents/projects/Django/django_project_Kuris/venv/lib/python3.7/site-packages/django/db/migrations/state.py", line 278, in __init__
    raise ValueError("\n".join(error.msg for error in errors))
ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'project_first_app.user', but app 'project_first_app' doesn't provide model 'user'.


Почему появляется эта ошибка?
  • Вопрос задан
  • 250 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы