django.db.utils.ProgrammingError: столбец "изображение" отношения "choices_keyword" уже существует - PullRequest
0 голосов
/ 10 апреля 2019

У меня проблема между двумя миграциями ниже. Как вы видите ниже код, они имеют migrations.AddField(... name='image', ...) общего. Из-за этого они выдают ошибку ниже каждый раз, когда я запускаю manage.py migrate.

django.db.utils.ProgrammingError: столбец "изображение" отношения "choices_keyword" уже существует.

Просто чтобы временно решить эту проблему, мне нужно запустить manage.py migrate --fake, тогда она работает, но я знаю, что использование -fake каждый раз не является правильным способом Как я могу решить эту проблему?

0015_auto_20190404_0925.py

class Migration(migrations.Migration):

    dependencies = [
        ('choices', '0014_auto_20190111_1625'),
    ]

    operations = [
        migrations.AddField(
            model_name='keyword',
            name='image',
            field=imagekit.models.fields.ProcessedImageField(blank=True, null=True, upload_to=modvisor.choices.models.image_path),
        ),
        migrations.AddField(
            model_name='keyword',
            name='status',
            field=models.CharField(choices=[('inactive', 'Inactive'), ('active', 'Active')], default='inactive'),
        ),
    ]

0015_keyword_image.py

class Migration(migrations.Migration):

    dependencies = [
        ('choices', '0014_auto_20190111_1625'),
    ]

    operations = [
        migrations.AddField(
            model_name='keyword',
            name='image',
            field=imagekit.models.fields.ProcessedImageField(blank=True, null=True, upload_to=modvisor.choices.models.image_path),
        ),
    ]

1 Ответ

2 голосов
/ 11 апреля 2019

Проблема в том, что у вас есть 2 миграции в одном приложении с одним и тем же серийным номером 0015.

Чтобы исправить это, выполните следующие действия

  • удалите последний файл миграции 0015_auto_20190404_0925.py или 0015_keyword_image.py ты бы знал лучше
  • Сделай миграцию.python manage.py makemigration <app_name>
  • Мигрировать. python manage.py migrate <app_name>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...