Python 3, Django 1.8.5, Postgres
У меня есть модель Sites
, которая работает нормально. Недавно я попытался добавить поле, airport_code и перенести данные.
class Site(BaseModel):
objects = SiteManager()
name = models.CharField(max_length=200, unique=True)
domain = models.CharField(max_length=200, unique=True)
weather = models.CharField(max_length=10)
nearby_sites = models.ManyToManyField('self', symmetrical=False, blank=True)
users = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True)
facebook = models.URLField(max_length=200)
twitter = models.URLField(max_length=200)
header_override = models.TextField(blank=True)
email_header_override = models.TextField(blank=True)
timely_site_tag_id = models.IntegerField()
timely_featured_tag_id = models.IntegerField()
timely_domain = models.CharField(max_length=255)
sitemap_public_id = models.CharField(max_length=255)
state = models.CharField(max_length=24)
airport_code = JSONField()
Однако, когда я запустил makemigrations
, я получил сообщение об ошибке:
django.db.utils.ProgrammingError: column sites_site.airport_code does not exist
LINE 1: ..._site"."sitemap_public_id", "sites_site"."state", "sites_sit...
Конечно, это не имеет смысла, потому что столбец, очевидно, не существует, когда я пытаюсь создать его в процессе миграции.
Я видел много вопросов об этой ошибке в переполнении стека, которые остались без ответа или у вас есть решение вручную создать файл миграции или уничтожить и перестроить базу данных. Это нехорошее решение.