South migration for social auth

后端 未结 2 389
深忆病人
深忆病人 2021-01-28 08:07

I am using south in my django project. I just added social_auth in settings.py, when i run this command: python manage.py schemamigration social_auth --auto

It says:

2条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-28 08:36

    django-social-auth works perfectly except that it needs South and it doesn't work with newer versions of Django.

    To remove the dependencies form South in django-social-auth, simply remove the migrations created by South and create new ones using the newer migration engine from Django 1.7 >.

    This is how I fixed it:

    # 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 /lib/python2.7/site-packages/social_auth/migrations/000*
    
    # Create an dummy django project
    (my_venv)$ django-admin startproject asdf
    

    Add django-social-auth to the asdf/settings.py file

    ### asdf/asdf/settings.py
    ...
    INSTALLED_APPS = (
        ...
        'social_auth',
    )
    ...
    

    Finally create the new migration for django-social-auth

    # Create new migrations
    $ python asdf/manage.py makemigrations social_auth
    
    # Delete the dummy django-project
    $ rm -r asdf
    

    This fix will work for all the Django projects that work under the same virtual environment.

提交回复
热议问题