社会认同的南迁移

时间:2014-03-16 06:21:31

标签: django django-south django-socialauth

我在我的django项目中使用南方。我刚刚在settings.py中添加了social_auth,当我运行此命令时: python manage.py schemamigration social_auth --auto

它说:似乎没有任何改变。

请告诉我如何为社交身份验证创建表格,因为通过此命令无法创建表格。

2 个答案:

答案 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