Python 3、Django 1.8.5、Postgres
我有一辆Sites
型车一直运转良好.我最近try 添加一个字段、airport_代码,并迁移数据.
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...
当然,这没有意义,因为当我试图在迁移中创建该列时,该列显然不存在.
我在堆栈溢出上看到了很多关于这个bug的问题,但没有得到解答,或者有一个手动创建迁移文件的解决方案,或者销毁并重建数据库.这不是一个好的解决方案.