我正在尝试使用 South 将新的 URLField 添加到模型中,例如:
class Document(models.Model):
text = models.TextField()
reference_page = models.URLField(blank=True, null=True)
source_page = models.URLField(blank=True, null=True) # new field
但是,当我运行时,python manage.py schemamigration myapp --auto
我得到了错误:
DatabaseError: column myapp_document.source_page does not exist
LINE 1: ...ext", "myapp_document"."reference_page", "myapp_doc...
我使用 PostgreSQL 作为我的数据库后端。我为 South 正确初始化了我的应用程序,并且已经为它运行了迁移。我已经确保我的 Django 和 South 安装是最新的。
为什么它现在会给我这个错误?
编辑:奇怪的是,如果我在数据库中手动创建列,schemamigration
调用成功,但当然migrate
调用失败,直到我手动删除列。这很奇怪。