南迁移后端的OperationalError:没有这样的列:myModel.myField

时间:2016-04-28 15:02:30

标签: python django django-south migrate

我使用Django 1.6,sqlite3和South 1.0.1来迁移模型。 我有一个表myTable,我想在此表中添加一个列(字段)。 因此,我在myField中添加了此字段model.py。 然后我跑:

sudo python manage.py schemamigration myApp --auto
python manage.py migrate myApp

发生错误:XXX table already exist

XXX表是我在myApp中的第一个表,好的,所以我运行

python manage.py migrate myApp --fake

结果如下:

Running migrations for myApp:
- Migrating forwards to 0008_auto__add_field_myTable_myField
> myModel:0008_auto__add_field_myTable_myField
   (faked)

似乎没有错误,但是当我输入127.0.0.1/admin/myApp/myTable时,出现错误:

OperationalError in myApp:no such column: myTable.myField

但我用命令查看表格:

sudo python manage.py sqlall myApp

myField中存在myTable

我不知道如何解决这个问题,谢谢!

1 个答案:

答案 0 :(得分:0)

Ops,我找出原因......只需添加

sudo python manage.py schemamigration myApp --auto
python manage.py migrate myApp --fake

在添加列之前。