[英]Python social auth in Django, makemigrations detects no changes
我正在按照文档在我的django项目上获取python社会认证https://python-social-auth.readthedocs.org/en/latest/configuration/django.html
将'social.apps.django_app.default',
添加到我的settings.py中的INSTALLED_APPS之后我运行:
python manage.py makemigrations
我明白了
No changes detected
这个命令不应该做某事。 因为没有这个,我无法迁移以创建auth所需的表。
编辑:
我也尝试过这个命令,结果仍然得到了相同的结果
python manage.py makemigrations main
其中'main'是我的应用程序的名称
今天我遇到了这个问题。 错误在文档本身。
你应该直接运行$ python manage.py migrate
。 它在数据库中创建表。
所有旧的教程都使用makemigrations
,我认为它是在早期版本的django中使用的。
我的答案将涵盖一些基础知识,以便轻松理解这类错误。
让我在最新版本的Django中清楚一些关于迁移的基本术语(从1.7到开发版)。
在旧版本的Django中,One必须在模型中进行更改(最终在数据库中),然后One必须使用South
应用程序在数据库中应用更改而不影响旧数据库。
Django开发者社区在Django 1.7中和之后都包含了这个南方应用程序,并提供了一些简单的命令来应用迁移。
当一个人安装新应用程序(上面的问题场景)或者一个人在现有模型中进行更改并希望在数据库中应用更改时,就必须告诉数据库他们想要做出哪些更改。 要做到这一点,必须进行迁移,以下是命令。
$ python manage.py makemigrations app_name
或者如果它是初始的,则无需指定app_name,它将考虑所有应用程序。
此命令将生成迁移文件,其中将包含数据库的说明,以指示哪些表以及该表的属性是什么,表之间的关系是什么以及当前表中的更改等等。
现在必须在命令下运行才能在数据库中应用此所有更改。
$ python manage.py migrate app_name
或者如果是初始,则无需指定app_name。
可能的原因是您的项目尚未使用任何“社交”应用程序的数据库模型。 在您的urls.py
添加网址,将其链接到“社交”网址。
到Django <1.8
INSTALLED_APPS ['social.apps.Django_appConfig',]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.