Добавить внешний ключ в модель "один к одному" (расширенная модель пользователя)

Мой портфель позволяет пользователям из модели Client входить в систему.

Я расширил модель User отношениями один-к-одному, как сказано в Django Documentation.

Модель клиента:

class Client(models.Model):
    name = models.CharField(max_length=45)
    surname = models.CharField(max_length=45)
    address = models.CharField(max_length=45)
    email = models.EmailField(max_length=50, blank=False, null=False, default='example@example.com')

Расширенный пользователь:

from django.contrib.auth.models import User

class ExtendedUser(models.Model):
    user = models.OneToOneField(User, on_delete=models.DO_NOTHING)
    # client = models.ForeignKey('Client', on_delete=models.DO_NOTHING, blank=True, null=True)
    
    class Meta:
        managed = True
        db_table = 'extended_user'

В таблице клиента (mysql) у меня есть строки.

Когда я использую python manage.py migrate терминал показывает мне django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint').

Если я не пишу строку ForeignKey, то ошибка не возникает, но мне нужен этот ForeignKey.

Что здесь не так? Я пробовал разные параметры в строке ForeignKey, но ничего.

Я думаю, что вы должны обратиться к имени класса, т.е.: к Client вместо User

class ExtendedUser(models.Model):
    user = models.OneToOneField(Client, on_delete=models.DO_NOTHING)
Вернуться на верх