我在我的django项目中使用南方。我刚刚在settings.py中添加了social_auth,当我运行此命令时: python manage.py schemamigration social_auth --auto
它说:似乎没有任何改变。
请告诉我如何为社交身份验证创建表格,因为通过此命令无法创建表格。
答案 0 :(得分:3)
django-social-auth完美无缺,但它需要南方,并且不适用于较新版本的Django。
要在django-social-auth中删除South的依赖项,只需删除由South创建的迁移并使用Django 1.7中的较新迁移引擎创建新迁移。
这就是我修复它的方法:
# Install django (if you haven't) and django-social-auth
(my_venv)$ pip install django django-social-auth
# Delete the South migrations
# Using a virtual environment: my_venv
# In case you use python3, replace
(my_venv)$ rm <path_to_my_venv>/lib/python2.7/site-packages/social_auth/migrations/000*
# Create an dummy django project
(my_venv)$ django-admin startproject asdf
将django-social-auth添加到asdf / settings.py文件
### asdf/asdf/settings.py
...
INSTALLED_APPS = (
...
'social_auth',
)
...
最后为django-social-auth
创建新的迁移# Create new migrations
$ python asdf/manage.py makemigrations social_auth
# Delete the dummy django-project
$ rm -r asdf
此修复程序适用于在同一虚拟环境下工作的所有Django项目。
答案 1 :(得分:2)
我认为您不需要为social_auth生成迁移,因为此应用应该已经有了迁移。相反,您需要执行它们,因此在您的设置中添加“social_auth”之后,您必须只运行此命令:
python manage.py migrate social_auth