Привет, я нашел ответ на этот вопрос, поэтому я публикую сообщения для тех, кто позже наткнется на это сообщение.
django social предоставляет конвейер для расширения своего кода, и нам просто нужно расширить этот конвейер для этогов вашем файле setting.py опубликуйте следующий список (все в этом списке являются конвейерными методами по умолчанию, которые вызываются, кроме последнего).
SOCIAL_AUTH_PIPELINE = (
'social_core.pipeline.social_auth.social_details',
'social_core.pipeline.social_auth.social_uid',
'social_core.pipeline.social_auth.auth_allowed',
'social_core.pipeline.social_auth.social_user',
'social_core.pipeline.user.get_username',
'social_core.pipeline.user.create_user',
'social_core.pipeline.social_auth.associate_user',
'social_core.pipeline.social_auth.load_extra_data',
'social_core.pipeline.user.user_details',
'newsapp.pipeline.save_profile'<-- this is your method
)
создайте в вашем приложении файл с именем pipeline.py и именемметод должен быть указан в списке выше, как последняя строка в списке (newsapp - это имя моего приложения, укажите ваше имя приложения)
в вашем файле pipe.py
def save_profile(backend, user, response, *args, **kwargs):
if NewsCreator.objects.filter(user_id=user.id).count() == 0 :
newsCreator = NewsCreator.objects.create(user=user)
//your logic for new fields
newsCreator.save()
, если у вас есть другиезапрос относительно django-social вы можете обратиться https://github.com/python-social-auth/social-docs его подробная документация