Django | NOT NULL constraint failed | When trying to reverse migrations

Я, по своей прихоти, принял плохое решение закомментировать models.OneToOneField в одной из своих моделей, а затем мигрировать, чтобы посмотреть, исправит ли это проблему, с которой я столкнулся.

После этого я понял, что не могу просто переместить models.OneToOneField тем же способом, что и первоначально, и он начал выбрасывать ошибку "django.db.utils.IntegrityError: UNIQUE constraint failed:", а все потому, что я пытался переместить models.OneToOneField обратно в свою модель

Я не думал, что это большая проблема, я просто собирался сделать обратный переход на "0008_alter_profile_profile_private", потому что "0009_remove_profile_user" был переходом, который вызвал проблему с самого начала.

Но теперь он выдает ошибку "django.db.utils.IntegrityError: NOT NULL constraint failed: new__profiles_profile.user_id"

Вот весь код, который, как я понимаю, является важным:

Выдержка из моего: models.py в приложении "profiles":

class Profile(models.Model): # User Profile model
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True) #creates a OneToOneField connected to the user, that when the user gets deleted, so does the profile
    riot_name = models.TextField(default="RiotUser#1234") # Riot Username
    avatar = models.ImageField(upload_to='avatars', default='avatar.png') # Profile Image Field
    banner = models.ImageField(upload_to='banners', default='banner.jpg') # Banner Image Field
    friends = models.ManyToManyField(User, related_name='friends', blank=True) # Friends list
    bio = models.TextField (default="I don't have a bio... :(") # Account bio field
    updated = models.DateTimeField(auto_now=True) # Last time the stats updated
    created = models.DateTimeField(auto_now_add=True) # date the account was created
    profile_private = models.BooleanField(default=True)
    
    def __str__(self):
        return str(self.user)
    
    def get_riot_name(self):
        return str(self.riot_name)

Фото моих последних миграций в приложении "Профили" (выделенный файл - тот, к которому мне нужно вернуться): enter image description here

Полный код ошибки, когда я пытаюсь вернуться к "0008_alter_profile_profile_private":

Я ожидал, что мне просто придется сделать какую-то странную работу или по-другому упорядочить мои миграции, где я очищаю свои последние "makemigrations", затем добавляю "null=True", делаю миграции, мигрирую, а затем пытаюсь вернуться.

Я пробовал отменить миграцию без нулевого значения, с null=True и null=False (оба нулевых значения без "makemigrations", которые не мигрировали, и я говорю это, потому что это ответ на один из постов по устранению неполадок, которые я уже прочитал)

Ручное добавление нулевых значений (null=True) к "user" позволяет мне получить текущую миграцию, проходящую без ошибок, но это все еще не позволяет мне вернуться к более старой миграции.

Я не знаю, что еще я могу сделать, кроме как перестроить свои модели

Что я упускаю из виду, что могло бы решить эту проблему и позволить мне вернуть мои миграции назад?

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