2013-03-12 127 views
0

我真的被困在这里。我有一个模型,我现在正在迁移,直到现在。但今天我增加了新的领域,然后我做了schemamigration app --auto,然后它发现了新增加的领域,但是当我跑migrate app时,它说,字段newfield不存在。我不明白为什么。我取消注释并试图进行模式迁移并再次迁移,现在它正在吐出相同的错误。我错了什么,现在该怎么办?我想有这样的情况:(django南迁移问题

感谢您的帮助

编辑一个固定的步骤:

class User(models.Model): 
    registerdate = models.CharField(max_length=400,default='') 
    vorname = models.CharField(max_length=100,default='') 
    nachname = models.CharField(max_length=100,default='') 
    plz = models.CharField(max_length=10,default='') <------------- this field i added 
    land = models.CharField(max_length=100,default='') 

错误说:

the following sql statement failed: ALTER TABLE home_user DROP COLUMN plz CASCADE;

,但现在,我有这个字段没有注释,如果我尝试迁移,它说:列PLZ关系USER不存在。为什么这是?:(

+0

您可以在此处添加对模型所做的更改(差异)吗?你可以对你得到的错误(确切的跟踪)做同样的事情吗?这似乎你做的是正确的事情,所以这将有助于有这个信息,以帮助你... – marianobianchi 2013-03-12 03:23:58

+0

@凯瑟琳,我做到了,但同样的错误即将到来。 – doniyor 2013-03-12 03:29:07

+0

如果您发布追溯文件,迁移文件的相关部分,您可能会获得更多帮助。另外,你取消了什么?! – 2013-03-12 03:29:23

回答

3

我取消注释并尝试进行模式迁移并再次迁移,现在是 吐出相同的错误。

您是否删除了添加新字段后创建的迁移?如果不是,那么运行迁移将继续尝试运行此迁移。既然你说它第一次运行失败,它会一直运行失败,除非它被纠正或删除。

如果第一次迁移确实无法运行,您可以尝试删除它(以及您可能创建的任何后续迁移),然后重新创建它。

然而,在尝试这一点之前,发布运行迁移时得到的错误的更完整回溯会很有帮助。你可能在南方认为你的数据库的状态和它的实际状态之间存在不匹配,但是如果没有更多的信息,很难肯定地说。