Dre*_*con 15 python django django-south
所以,我终于屈服了,抓住了南方.问题是,每次我尝试按照教程运行
"python manage.py schemamigration myapp --initial"
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
"There is no enabled application matching 'myapp'"
Run Code Online (Sandbox Code Playgroud)
- 我试过的事 -
我已经检查了我的设置文件,从django shell运行Import South没有返回任何错误,我已经将包含manage.py的文件夹添加到PYTHONPATH,以及wsgi.py和settings.py.
我已经运行python manage.py和python C:\ path\to\manage.py变种,甚至进入我的python目录并验证南部是在site-packages文件夹中.syncdb运行正常,以"未同步(使用迁移)"结束.python manage.py migrate运行时没有返回错误,但似乎没有任何效果.我已经尝试在运行syncdb之前和之后运行所述命令,这对结果没有影响.
- 其他可能相关的信息 -
Django 1.5.1,Python 2.7,没有使用其他外部应用程序,Windows 7 64位,python被添加到Windows路径,南安装通过python setup.py安装命令.安装成功完成.我不使用virtualenv,并且真的更愿意避免这种情况,因为这意味着很多重构当前项目的设置和浪费时间.我计划将来转向virtualenv设置,但不是现在.
这是怎么回事?我该如何解决?网络搜索显示没有任何好消息,我完全不知所措......
这个错误可能会产生误导:当South试图导入应用程序时,它会被抛出,但是当它试图获取应用程序的models模块时.
INSTALLED_APPS)models模块,因为该文件models.py不存在,或者因为该目录models/不包含__init__.py.South不会导入models模块本身.相反,它将该作业留给, django.db.models.get_app('app_of_interest')根据其文档字符串"返回包含给定app_label的模型的模块".get_app实际上,引发的错误消息取决于它是否无法导入应用程序或模型,但两个异常都是ImproperlyConfigured,并且schemamigrations脚本看起来不比那更深.
因为South表示它只接受安全更新(它在Django 1.7的迁移功能中进入了生命周期),所以我没有提交修复代码库,而是在这里记录问题.
迁移以每个应用程序为基础存在。每个应用程序可能有也可能没有自己的迁移,但您需要为要使用它们的每个应用程序创建它们。(通常是所有应用程序)
./manage.py migrate是为所有应用程序运行迁移的快捷方式