Как исправить Вы пытаетесь изменить 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
Я понятия не имею, почему это происходит, потому что эта модель была создана давно и работала просто отлично, а теперь, когда я добавляю комментарий модели, это происходит, может кто-нибудь помочь?