【发布时间】:2015-12-24 23:38:49
【问题描述】:
使用 django 1.7.5,我通过添加字段对 User_Profile 进行了更改:
school = models.CharField(max_length = 255, blank=True, default="")
那么,
$ python manage.py makemigrations
没问题。它添加了该字段。接下来,
$ python manage.py migrate
给我:
django.db.utils.IntegrityError: mathbreakers_userprofile__new.school may not be NULL
哦哦。好吧,在通过设置字段default="" 或blank=True 尝试不同的事情之后,没有任何效果。算了,我删除了该字段并将模型恢复到一切正常时的状态。模型看起来像以前一样,我运行 makemigrations,它删除了该字段(它说)。太好了!
然而,
$ python manage.py migrate
仍然导致相同的错误,抱怨我添加然后删除的字段。好像我不能让 django 忘记那个字段的存在。但它在我的 models.py 文件中不存在。我该如何解决?那个领域在哪里?我应该进入并从那里手动删除它是否在我的 SqlLite 中?
注意:我已手动删除损坏的迁移文件,并且还恢复到更改之前的以前的 GIT 版本。没有任何效果,python manage.py migrate 似乎还是坏了..
【问题讨论】:
-
您之前是否已经拥有该字段然后更改它?
标签: python django django-models