Django.db.utils.OperationalError: нет такой колонки: authentication_user.name

Я пытался добавить новое поле в модель аутентификации пользователя. Но когда я пытаюсь запустить python manage.py makemigrations, консоль показывает,

django.db.utils.OperationalError: no such column: authentication_user.name

Вот часть моей модели:

class User(AbstractBaseUser, PermissionsMixin):

    id = models.UUIDField(primary_key=True, max_length=36, default=uuid.uuid4, 
                          editable=False,blank=False, null=False)
    cus_id = models.CharField(max_length = 250, null=True, blank=True, 
                              default=increment_cus_number)
    email = models.EmailField(max_length=255, unique=True, db_index=True)
    username = models.CharField(max_length=250, blank = True, null = True)
    name = models.CharField(max_length=250, default = '', blank = True, null = True)
    first_name = models.CharField(max_length=250, blank=True, null=True)
    last_name = models.CharField(max_length=250, blank=True, null=True)
    mobile = models.CharField(max_length = 100, null = True)
    date_of_birth = models.DateField(blank=True, null=True)
    address = models.TextField(blank=True, null=True)
    picture = models.ImageField(blank=True, null=True)
    gender = models.CharField(max_length=100, blank = True, null= True)
    is_verified = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    business_partner = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    auth_provider = models.CharField(
        max_length=255, blank=False,
        null=False, default=AUTH_PROVIDERS.get('email'))

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    objects = UserManager()

    def __str__(self):
        return self.email

Любые предложения/советы по этому вопросу будут очень полезны.

Попробуйте запустить:

py manage.py migrate

Похоже, столбцы в базе данных еще не созданы. Если это не сработает:

  • Удалите файлы миграции из вашего проекта, структура папок для миграций должна выглядеть следующим образом после очистки:
/migrations
    /__init__.py
  • Makemigrations для повторной генерации миграций.
  • Migrate для создания всех необходимых таблиц БД, колонок и т.д.

Возможно, где-то используется обращение к User.name. Когда мы запустим сервер, django проверит эту строку в базе данных, которая может быть не перенесена в нашу базу данных. Одно из решений - попытаться выяснить, где вы вызывали User.name и использовать корректный логин. или попробуйте удалить базу данных и все файлы миграции. Мигрируйте снова

ПОСЛЕ СБРОСА БАЗЫ ДАННЫХ

find . -path "*/migrations/*.py" -not -path "*/venv/*" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -not -path "*/venv/*" -delete
python manage.py makemigrations
python manage.py migrate
Вернуться на верх