0

我真的被困在这里。我有一个模型,直到现在我都可以很好地迁移。但是今天我添加了新字段,然后我做了schemamigration app --auto,然后它找到了新添加的字段,但是当我运行时migrate app,它说该字段newfield不存在。我不明白为什么。我取消注释并尝试架构迁移并再次迁移,它现在吐出同样的错误。我做错了什么,我现在该怎么办?我想对这种情况有一个固定的步骤:(

感谢帮助

编辑:

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;

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

4

1 回答 1

3

我取消注释并尝试架构迁移并再次迁移,它现在吐出同样的错误。

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

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

不过,在尝试之前,发布运行 migrate 时遇到的错误的更完整的回溯会很有帮助。您可能在南认为的数据库状态与实际情况之间存在不匹配,但如果没有更多信息,很难确定。

于 2013-03-12T03:47:04.833 回答