簡體   English   中英

Django UserSocialAuth匹配查詢不存在

[英]Django UserSocialAuth matching query does not exist

我正在使用github API開發一個Web應用程序。 我想獲取已使用Python Social Auth進行身份驗證的用戶的令牌,但是在嘗試訪問用戶的令牌時,出現以下錯誤UserSocialAuth matching query does not exist

我真的不知道該怎么做才能訪問這些額外的數據。

這是我嘗試訪問令牌時的代碼:

    if request.user.is_authenticated:
        gituser = request.user.social_auth.get(provider ='github-oauth2')
        extra_data = str(gituser.extra_data['access_token'])

預先感謝!

您正在嘗試使用get()獲取單個對象,由於該對象不存在,因此它返回DidNotExist異常。 使用filter代替get,如下所示:

gituser = request.user.social_auth.filter(provider ='github-oauth2')

for user in gituser:
  extra_data = user.extra_data

或者,您可以使用get_object_or_404,如下所示:

from django.shortcuts import get_object_or_404

gituser = get_object_or_404(UserSocialAuth, provider ='github-oauth2')
extra_data = gituser.extra_data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM