Добавить новые поля в models.py в Django

У меня есть следующая модель в models.py:

class Videos(models.Model):
    title = models.CharField(max_length=45)
    link = models.CharField(unique=True, max_length=45)

    class Meta:
        managed = True
        db_table = 'Videos'

    def __str__(self):
        return '%s' % (self.title)

Я хочу добавить два новых атрибута:

created = models.DateTimeField(default=datetime.now)
number_of_searches = models.PositiveIntegerField(default=0)

Модель будет выглядеть так:

class Videos(models.Model):
    title = models.CharField(max_length=45)
    link = models.CharField(unique=True, max_length=45)
    created = models.DateTimeField(default=datetime.now)
    number_of_searches = models.PositiveIntegerField(default=0)

    class Meta:
        managed = True
        db_table = 'Videos'

    def __str__(self):
        return '%s' % (self.title)

Когда я выполняю команду python manage.py makemigrations, она говорит, что нет никаких изменений, которые нужно применить. Когда я удаляю две строки и снова запускаю команду, он выводит меня на экран:

blog/migrations/0006_auto_20170102_1904.py:
    - Remove field created from videos
    - Remove field number_of_searches from videos

Когда я добавляю их снова, он говорит мне:

blog/migrations/0007_auto_20170102_1905.py:
    - Add field created to videos
    - Add field number_of_searches to videos

Но когда я выполняю python manage.py migrate, я показывает следующую ошибку:

django.db.utils.OperationalError: (1091, «Не удалось DROP« создан »; проверьте, что столбец / ключ существует»)

Как будто поле существовало. Я не могу найти решение, я был бы признателен за любую помощь.

0
задан 02.01.2017, 21:27
0 ответов

Уже я решил проблему следующей формы:

  1. Удалите папку (не, не раньше поддерживая ее) migrations внутри папки моего app.
  2. python manage.py makemigrations *miApp*
  3. python manage.py migrate *miApp*
0
ответ дан 03.12.2019, 17:54