我正试图让South开始工作-它在我的PC上运行得很好,但我正在努力将它部署到我的webhost上。
现在看来,我为从已安装的应用程序中添加/删除项目所做的任何更改都不会被syncdb
或diffsettings
接受。我已将south
添加到已安装的应用程序列表中,但在运行syncdb
时不会创建它所需的表。如果我更改了其他设置,它们就会被选中,似乎只是安装了不起作用的应用程序。
如果我跑
from south.db import db
从
manage.py shell
得到的shell中,我没有得到任何导入错误,所以我认为south
在哪里不成问题。我已经尝试删除了所有其他应用程序(除了Django标准应用程序),当我运行syncdb
时,它们的表仍然会被创建。即使我完全删除已安装的应用程序,当我运行manage.py diffsettings时,仍然会得到已安装的应用程序的旧列表。
你知道我做错了什么吗?
谢谢,
多姆
最佳答案
如果为应用程序编写迁移,syncdb将不起作用。
你必须使用
manage.py migrate
syncdb不适用于使用south进行迁移的应用程序。这些应用程序模型的更改将仅视南部迁移历史而定。
South Migration Docs
关于python - Django无法在settings.py中获取对INSTALLED_APPS的更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/901061/