Так как ваш пользователь - просто внешний ключ, все, что вам нужно, это provider.userprofile.user
Если вы не хотите, чтобы это вызывало второй SQL-запрос, вы можете просто использовать опцию select_related
при выбореваш профиль, например:
UserProfile.objects.get(pk=<the_id>,select_related=True)
Как написано, ваши модели не предоставляют тривиальный способ получения от поставщика к Пользователю, поскольку существует ManyToMany от ServiceProvider
до UserProfile
,Вам нужно будет получить набор UserProfile
s, связанных с провайдером, получить тот, который вам нужен, и затем перейти к получению пользователя, как описано выше.