[英]from django.db import utils ImportError cannot import name utils?
[英]from django.db import models, migrations ImportError: cannot import name migrations
所以我开始在我的Django Web服务器上遇到南方的一些问题。 每次使用此输出迁移命令失败:
from django.db import models, migrations
ImportError: cannot import name migrations
(在此之上,错误显示无法迁移的文件的路径)
我的Django版本是1.5.1,而我的南版本是0.8.4
让我最烦恼的是模块django.db.migrations无处可寻。
有任何想法吗?
迁移是在Django 1.7中引入的; 你使用1.5。
这是一个解释这个的文档的链接 。 如果您使用的是旧版本的Django,则South是最受欢迎的数据迁移选项。
编辑
所以Django Rest Framework导致错误。 从他们的文件:
rest_framework.authtoken应用程序包括将创建authtoken表的Django本机迁移(对于Django版本> 1.7)和South迁移(对于Django版本<1.7)。
注意:从REST Framework v2.4.0使用South和Django <1.7需要升级South v1.0 +
您必须将South升级到0.8.4以上的版本。
我认为OP没有将迁移导入到他正在编写的脚本中,其中一个由schemamigration创建的自动脚本可能导致了这个问题。
这个错误突然开始出现在我之前迁移工作的地方,我发现它与Django == 1.6.1和South == 0.8.4的版本没有关系,但我的shell对于哪个virtualenv感到困惑我在用。 我已经退出一个虚拟环境并取消激活,并使用“workon”启动另一个虚拟环境并运行模式迁移以更改字段的名称。 当我运行./manage migrate时,我收到了错误。 我退出了shell并再次启动了虚拟环境,一切都很好。
首先,您永远不会导入migrations
。 它不是要导入的模块,它是一个执行的命令工具。
其次,迁移是在1.7版本中引入Django的,你说你使用的是1.5,所以你将无法使用它。
在Django 1.7之前,人们曾经与South合作,因为South使您能够在数据库中进行迁移。 使用Django 1.7,你不再需要South了,因为Django中已经包含了迁移。 换句话说,South在1.7版本中包含在Django中。
看一下这个链接: https : //docs.djangoproject.com/en/1.7/topics/migrations/
他们解释说他们包括迁移到Django。
实际上,South的最后一个版本是版本1.0,他们宣布他们不会发布更多版本,因为他们正在开发包含South的Django 1.7版本。 它们将支持当前版本,但不会添加更多功能。
看一下这个链接: http : //south.readthedocs.org/en/latest/releasenotes/1.0.html
他们解释说,1.0是South的最后一个主要版本,因为他们正致力于Django 1.7迁移。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.