django-socialauth
を使用してアカウント(この例では、図表アカウント)を既存のユーザーアカウントに関連付けることに成功しました。また、ユーザーの詳細を収集するために私のパイプラインをセットアップしました。ユーザーの `extra_data`がアカウントに関連付けられた後に更新するには?
def update_social_auth(backend, details, response, social_user, uid, user,
*args, **kwargs):
if getattr(backend, 'name', None) in ('instagram', 'tumblr'):
social_user.extra_data['username'] = details.get('username')
social_user.save()
これは、アカウントが初めて関連付けられたときに効果的です。ただし、アカウントが既に関連付けられている場合、username
フィールドはextra_data
に存在しません。
既に関連付けが行われた後にユーザーのextra_data
を更新するにはどうすればよいですか?django-socialauth
を使用して、接続を解除して再接続したり、アカウント(例:Instagram's)APIを使用しないでこれを行う方法はありますか?
それが助け場合は、これが現時点での私のパイプラインである:ここでは
SOCIAL_AUTH_PIPELINE = (
'social_auth.backends.pipeline.social.social_auth_user',
'social_auth.backends.pipeline.social.associate_user',
'social_auth.backends.pipeline.social.load_extra_data',
'social_auth.backends.pipeline.user.update_user_details',
'apps.utils.social.utils.update_social_auth'
)