【发布时间】:2014-02-11 10:32:25
【问题描述】:
class Stop(models.Model):
geo_region = models.CharField(max_length=255, default="")
我需要将字段类型更改为此类中的外键,保留数据。所以我做了下面的课程,并做了schemamigration 和datamigration 将geo_name 值保存到新表中。
class GeoRegion(models.Model):
geo_name = models.CharField(max_length=255, unique=True, verbose_name=u'Name')
def __unicode__(self):
return u"%s" % self.name
我更改了 geo_region 的字段类型。
class Stop(models.Model):
geo_region = models.ForeignKey(GeoRegion)
然后我再次运行south schemamigration命令,出现错误;
DatabaseError: column "geo_region_id" cannot be cast to type integer
如何解决这个问题并将现有的 geo_name 值与新的外键匹配?
【问题讨论】:
-
这个:stackoverflow.com/questions/14179063/… 不是一个公认的答案,但应该给你一个想法..
-
我已经查看了它并将旧数据保存到 GeoRegion 表中。问题是我提到的下一个 DatabaseError 以及如何将值与新的外键匹配。
标签: django django-south