В файл 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'.
Почему появляется эта ошибка?