[英]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.