この投稿から: django-allauthでユーザーのFacebook IDを取得するにはどうすればよいですか? テンプレート内のユーザーのソーシャルアカウントから追加情報にアクセスする簡単な方法があります(例:{{user.socialaccount_set.all.0.extra_data}}のエントリを確認します)。
ビューでこの情報を取得したいのですが、テンプレートではなく、理想的には接続されているすべてのソーシャルアカウントをループし、それぞれからより望ましい情報を取得し、その情報のみをテンプレートに渡します。
ビュー内からsocialaccount_set.allにアクセスする方法を知っている人はいますか?
回答:
回答№1の場合は3この質問が投稿されてから1年以上経っていますが、どこにも答えが見つかりませんでした。
これは、将来これが誰かを助ける場合のために、私が最終的にそれをした方法です:
#views.py
user.socialaccount_set.all()[0].extra_data
回答№2の場合は0
以下は、ユーザーのために保存された情報にビューでアクセスするための代替手段です。
from allauth.socialaccount.models import SocialAccount
social_info = SocialAccount.objects.filter(user=request.user)
fb_id = SocialAccount.objects.filter(user=request.user, provider="facebook")[0].uid