/ / django-allauth: доступ до "socialaccount_set.all" з виду - django, django-allauth

Джанго-Амулат: Доступ до "socialaccount_set.all" з точки зору - джанго, джанго-авеллат

З цієї публікації: Як я можу отримати ідентифікатор 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