Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django 1.7 makemigrations需要一个我试图删除的依赖项_Python_Django_Oauth_Django Migrations - Fatal编程技术网

Python django 1.7 makemigrations需要一个我试图删除的依赖项

Python django 1.7 makemigrations需要一个我试图删除的依赖项,python,django,oauth,django-migrations,Python,Django,Oauth,Django Migrations,我正在将django项目从1.6.11升级到1.7.9。我使用DRF2.4.4。一旦一切正常,我将升级到DRF3.x 我开始使用django-oauth2-provider,但它不能与django 1.7一起工作,所以我将使用django-oauth工具包。 作为记录,它不起作用,因为HttpResponse不再接受mimetype。它必须是“内容类型”。django-oauth2-provider的PRs被放弃 我pip安装了它,并将oauth应用程序添加到已安装的应用程序中。不过,他们建议先

我正在将django项目从1.6.11升级到1.7.9。我使用DRF2.4.4。一旦一切正常,我将升级到DRF3.x

我开始使用django-oauth2-provider,但它不能与django 1.7一起工作,所以我将使用django-oauth工具包。 作为记录,它不起作用,因为HttpResponse不再接受
mimetype
。它必须是“内容类型”。django-oauth2-provider的PRs被放弃

我pip安装了它,并将oauth应用程序添加到已安装的应用程序中。不过,他们建议先使用
syncdb
,然后再使用
migrate
。我尝试使用
/manage migrate oauth2\u provider
迁移它,但未成功。它不断报告:

ValueError: Dependency on unknown app: provider 
provider
恰好是oauth的旧模块,它与我的两个应用程序结合在一起。 我将其从已安装的应用程序中删除,对其类的所有导入和使用进行了注释,将具有FK的模型更改为
provider.oauth2.models.Client
(我删除了该字段),然后重试。我也犯了同样的错误

其中一个应用程序的初始迁移似乎是使用
提供程序的唯一有效代码:

class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('contenttypes', '0001_initial'),
        ('provider', '__first__'),
    ]
然而,在这次迁移之后,我删除了那个字段。对于South,我可能会对myapp执行
/manage.py模式迁移--auto
,然后执行
迁移
。 然而,当我尝试
makemigrationsmyapp
时,我得到了相同的错误


我完全迷路了。我如何摆脱旧的oauth模块并获得新的模块?我必须为oauth2\u提供程序运行
makemigrations
,还是只运行
migrate
?我猜只有
迁移
。为什么我不能用myapp模型中的更改进行迁移呢?

这发生在我身上。尝试在初始迁移中手动删除引用它的“提供者”应用程序行。或者,您可以删除所有迁移并从头开始运行“makemigrations”(记住,对于初始迁移,您必须为每个应用程序执行一次)。

谢谢,我实际上删除了该迁移及其从属迁移,并再次创建了它们。我想承诺从south迁移到makemigrations,但这行不通。