Вы пытаетесь изменить nullable поле 'email' на customuser на non-nullable без значения по умолчанию.

У меня есть две модели (UserAddress и CustomUser) в моем models.py, поле user address в CustomUser было полем многие-ко-многим, но я решил изменить его на поле внешнего ключа. Но когда я запустил python manage.py make migrations, он попросил меня выбрать вариант:

что мне делать: Вы пытаетесь изменить nullable поле 'email' в customuser на non-nullable без значения по умолчанию; мы не можем этого сделать (базе данных нужно что-то для заполнения существующих строк). существующие строки). Пожалуйста, выберите исправление:

  1. Provide a one-off default now (will be set on all existing rows with a null value for this column)
  2. Ignore for now, and let me handle existing rows with NULL myself (e.g. because you added a RunPython or RunSQL operation to handle NULL values in a previous dat a migration)
  3. Quit, and let me add a default in models.py

Вот мой файл models.py:

class UserAddress(models.Model):
    city = models.CharField(max_length=100)
    address = models.CharField(max_length=200)
    zip_code = models.CharField(max_length=15, blank=True)

    def __str__(self):
        return str(self.id)


class CustomUser(AbstractUser):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email = models.EmailField(unique=True)
    user_address = models.ForeignKey(UserAddress, on_delete=models.CASCADE)
class CustomUser(AbstractUser):
   email = models.EmailField(unique=True ,null =True)
  # your other fields

Выполните команду python manage.py makemigrations и python manage.py migrate. Ошибка будет удалена.

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