‘django.db.utils.Ошибка IntegrityError: сбой УНИКАЛЬНОГО ограничения:’ ошибка, все еще отображаемая после удаления атрибута

#django

#джанго

Вопрос:

Я пытался добавить атрибут к модели django, и он показал мне ‘django.db.utils.Ошибка IntegrityError: сбой УНИКАЛЬНОГО ограничения: ‘ ошибка. Поэтому я отступил и просто удалил атрибут, но он по-прежнему показывает мне ошибку, поэтому, пожалуйста, как я могу удалить атрибут навсегда.

Модель (я фактически удалил атрибут отсюда).

 class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    slug = models.CharField(max_length=200, unique=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE, related_name="blog_posts")
    updated_on = models.DateTimeField(auto_now_add=True)
    content= models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(choices=STATUS, default=0)
    
    class Meta:
        ordering = ['-created_on']
    
    def __str__(self):
        return self.title

 

Ошибка, когда я пытаюсь отменить миграцию или выполнить какую-то другую миграцию.

 PS C:UsersUSERDesktopTishas_Lifestyle> py manage.py migrate blog 0004
Operations to perform:
  Target specific migration: 0004_post_desc, from blog
Running migrations:
  Applying blog.0004_post_desc...Traceback (most recent call last):
  File "C:UsersUSERAppDataLocalProgramsPythonPython37libsite-packagesdjangodbbackendsutils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "C:UsersUSERAppDataLocalProgramsPythonPython37libsite-packagesdjangodbbackendssqlite3base.py", line 413, 
in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.IntegrityError: UNIQUE constraint failed: new__blog_post.desc

The above exception was the direct cause of the following exception:
 

Комментарии:

1. Вы добавили миграции? Вы сделали новую миграцию или пошли назад и удалили миграцию?

2. также было бы неплохо увидеть какой-нибудь код

3. Я попытался удалить его с помощью ‘py manage.py перенести блог 0004′(блог — это название приложения). Но потом он снова выдал мне ошибку.

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

Ответ №1:

когда вы удалили новый добавленный вами атрибут attribute, вы должны cmd

 py manage.py makemigrations
 

Если это все еще не работает, попробуйте удалить файл миграции или всю базу данных