Django中的Python社交认证,makemigrations检测不到任何变化

时间:2015-04-13 19:11:22

标签: python django python-social-auth

我正在按照文档在我的django项目中获取python社交认证 https://python-social-auth.readthedocs.org/en/latest/configuration/django.html

在我的 settings.py 中将'social.apps.django_app.default',添加到INSTALLED_APPS后,我运行了这个:

python manage.py makemigrations

我明白了

No changes detected

这个命令不应该做某事。因为没有这个,我无法迁移以创建身份验证所需的表。

编辑:

我也试过这个命令,但最终得到了相同的结果

python manage.py makemigrations main

其中'主要'是我的应用程序的名称

4 个答案:

答案 0 :(得分:3)

今天我遇到了这个问题。错误发生在文档本身。

您应该直接运行Go To。它在数据库中创建表。

所有旧教程都使用$ python manage.py migrate,我认为它是在早期版本的django中使用的。

答案 1 :(得分:1)

我的答案将涵盖一些基础知识,以便人们轻松理解这类错误。

让我清楚一些关于Django最新版本(从1.7到开发版)的迁移的基本术语。

在旧版本的Django中,One必须在模型中进行更改(最终在数据库中),然后必须使用South应用程序在数据库中应用更改而不影响旧数据库。

Django开发者社区在Django 1.7中和之后都包含了这个南方应用程序,并提供了一些简单的命令来应用迁移。

当一个人安装新应用程序(上面的问题场景)或者一个人在现有模型中进行更改并希望在数据库中应用更改时,必须告诉数据库他们想要做出哪些更改。要做到这一点,必须进行迁移,下面是命令。

$ python manage.py makemigrations app_name

或如果它是初始的,则无需指定app_name,它将考虑所有应用程序。

此命令将生成迁移文件,其中包含数据库的说明,以指示表格和表格的属性,表格之间的关系以及当前表格中的更改等等。

现在必须运行以下命令才能在数据库中应用所有更改。

$ python manage.py migrate app_name

或如果是初始,则无需指定app_name。

请拍摄任何问题如果您有任何问题,请查看Django的官方documentation on migrations以获取更多信息。

答案 2 :(得分:0)

可能的原因是您的项目没有使用任何' social'的数据库模型。申请。在urls.py中添加网址,将其与“社交”相关联。网址。

答案 3 :(得分:0)

到Django< 1.8

INSTALLED_APPS ['social.apps.Django_appConfig',]