"Соответствующий запрос не существует" при создании объекта

У меня есть:

class GoogleSignIn(APIView):
    def post(self, request):
        settings = request.settings
        code = request.data['code']

        # Verify the OAuth code with Google
        try:
            google_user_info = verify_user(code)
        except Exception as e:
            print(str(e))
            return Response({'error': 'Failed to verify with Google.'})

        email = google_user_info['email']
        picture = google_user_info['picture']
        try:
            user = User.objects.get(email=email)
            user_info = UserInfo.objects.get(user=user)
        except User.DoesNotExist:
            first_name = google_user_info['given_name']
            user = User.objects.create_user(
                email = email,
                username = email,
                first_name = first_name,
                last_name = google_user_info['family_name'],
                password=None)
            user_info = UserInfo.objects.create(
                user = user,
                credits = request.settings.INITIAL_CREDITS,
                expiry = compute_credits_expiry(
                    num_days=settings.FREE_CREDITS_EXPIRY_IN_DAYS))

Последнее утверждение (то есть создание объекта UserInfo в обработчике исключений) приводит к возникновению исключения:

accounts.models.UserInfo.DoesNotExist: UserInfo matching query does not exist.

Что это значит?

Полный вывод:

Ваш блок try except перехватывает только исключение User.DoesNotExist, таким образом UserInfo.DoesNotExist не обрабатывается, если вы хотите обработать его таким же образом, вы можете сделать

# previous code
except (User.DoesNotExist, UserInfo.DoesNotExist):
    # handle your exception

или вы можете обрабатывать их по отдельности следующим образом

# previous code
except User.DoesNotExist:
    # handle case where user doesn't exist
except UserInfo.DoesNotExist:
    # handle case where USerInfo doesn't exist

    
Вернуться на верх