З цієї публікації: Як я можу отримати ідентифікатор facebook користувача за допомогою django-allauth? існує простий спосіб отримати додаткову інформацію з соціального акаунта користувача в шаблоні (наприклад, перегляньте записи в {{user.socialaccount_set.all.0.extra_data}}).
Я хотів би захопити цю інформацію з точки зору,а не шаблон, ідеально перебираючи всі підключені соціальні акаунти та захоплюючи більш бажану інформацію з кожного, а потім передаючи лише цю інформацію до шаблону.
Хтось знає, як отримати доступ до socialaccount_set.all зсередини представлення даних?
Відповіді:
3 для відповіді № 1Я знаю, що минуло року з моменту опублікування цього питання, але відповіді я не могла знайти де завгодно.
Ось як я це зробив нарешті, якщо це допоможе комусь у майбутньому:
#views.py
user.socialaccount_set.all()[0].extra_data
0 для відповіді № 2
Ось альтернатива доступу до представлення інформації, що зберігається для користувача:
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