Как исправить Вы пытаетесь изменить nullable поле на non-nullable без значения по умолчанию?

я пытался добавить раздел комментариев в мой блог приложение добавить я только что добавил этот раздел к моим моделям:

class Comments(models.Model):
    post = models.ForeignKey(Post, on_delete=models.CASCADE)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    date = models.DateTimeField(default = timezone.now)
    body =  models.TextField(max_length = 600, default='')

    def __str__(self):
        return self.body

Затем, когда я попытался сделать миграции, он выдал мне это: You are trying to change the nullable field 'user' on profile to non-nullable without a default; we can't do that (the database needs something to populate existing rows).

которая связана с этой моделью; я ничего не менял в ней, и она давно мигрировала без каких-либо проблем

 class Profile(models.Model):
    user = OneToOneField(User, on_delete = models.CASCADE)
    bio = models.TextField(blank=True)
    profile_pic = models.ImageField(blank=True, upload_to ='uplodes/profiles', default='uplodes/profiles/default-profile-pic.jpg' )
    instagram_url = models.CharField(max_length=350, blank=True, null=True)
    twitter_url = models.CharField(max_length=350, blank=True, null=True)
    linkedin_url = models.CharField(max_length=350, blank=True, null=True)
    website_url = models.CharField(max_length=350, blank=True, null=True)

Затем, чтобы решить эту проблему, я добавил defalt=none в поле user в Profile, после чего makemigrations заработало, но когда я запускаю команду migrate, появляется эта ошибка

NOT NULL constraint failed: new__Blog_profile.user_id

Я понятия не имею, почему это происходит, потому что эта модель была создана давно и работала просто отлично, а теперь, когда я добавляю комментарий модели, это происходит, может кто-нибудь помочь?

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