1

我正在尝试通过设置我在 github 上找到的项目之一来学习 Django。之后我运行了它显示的 syncdb 命令未同步(使用迁移): - django_extensions - djangoatings - 配置文件 - 监护人(使用 ./manage.py 迁移来迁移这些)。

当我运行“python manage.py migrate app”时,它给出 AttributeError: 'module' object has no attribute 'Migration'。

我还运行了 schemamigration app --auto 和 --initial。但似乎没有任何效果。有人可以指出我哪里出错了。

4

2 回答 2

0

你真的在跑步python manage.py migrate app吗?如果要迁移所有应用程序,只需运行python manage.py migrate. (不带app)如果有一个实际命名的应用程序app要为其运行迁移,那么您将执行您所做的操作。

如果运行后仍然报错python manage.py migrate,那么肯定是某处存在无效的迁移文件。我会像这样单独迁移每个应用程序:

python manage.py migrate django_extensions
python manage.py migrate djangoratings
... etc.

查找迁移文件错误的应用程序。找到应用程序后,查看应用程序的迁移文件夹以找到任何空的迁移文件。

于 2013-11-06T03:59:52.687 回答
0

首先,您必须运行初始迁移。

python manage.py schemamigration --initial

由于您的项目结构或南包存在问题,您会收到此错误。尝试删除并重新安装南。
您需要看到迁移文件夹中不应有任何额外的 .py 文件。

于 2013-11-06T04:54:56.437 回答