Django&South:添加新字段但发生DatabaseError"表已存在"

Emi*_*ile 3 python django django-south

在尝试将新字段添加到预先存在的模型/表时,我得到一个"表已存在"的DatabaseError.我在此之前运行了迁移,所以我有点困惑为什么添加一个新字段会弹出这个错误.

执行的命令:

python manage.py schemamigration app --auto
python manage.py migrate app
Run Code Online (Sandbox Code Playgroud)

像以前这样的SO问题是通过伪造迁移来回答的.

python manage.py migrate app --fake
python manage.py migrate app
Run Code Online (Sandbox Code Playgroud)

由此产生的问题是未创建列.所以当你运行服务器时,你会看到一个DatabaseError'没有这样的列'.

至于我的模型,我只添加了一个CharField.

在此先感谢您的帮助-

Yuj*_*ita 12

您需要schemamigration app --initial没有新字段,然后migrate app --fake 0001(或返回的迁移号)将南数据库设置为该状态(已创建的表).

添加新字段,然后运行schemamigration myapp --auto,然后迁移.