Как вывести данные взаимосвязанных таблиц в одном запросе DRF?

Есть две модели:

class UserProfile(AbstractBaseUser, PermissionsMixin):
    phone_number = models.CharField(max_length=18, unique=True, verbose_name='Номер телефона / Логин')
    invite_code = models.CharField(max_length=6, unique=True, null=True, blank=True, verbose_name='Инвайт-код')
    subscription = models.CharField(max_length=6, null=True, verbose_name='Инвайт-код, на который подписаны')
    is_active = models.BooleanField(default=True, verbose_name='Активный')
    is_staff = models.BooleanField(default=False, verbose_name='Статус персонала')
    is_superuser = models.BooleanField(default=False, verbose_name='Суперпользователь')
    date_joined = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания аккаунта')

    objects = UserManager()

    USERNAME_FIELD = "phone_number"

    class Meta:
        verbose_name = 'Профиль'
        verbose_name_plural = 'Профили'


class Invite_code_bindings(models.Model):
    user_invite_code = models.OneToOneField(UserProfile, on_delete=models.DO_NOTHING, related_name='user_invite_code',
                                            verbose_name='Пользователь')
    invited_user = models.ForeignKey(UserProfile, on_delete=models.DO_NOTHING, related_name='invited_users',
                                      null=True, verbose_name='Подписка')

Прошу показать, как можно реализовать в DRF вывод такого запроса:

user = users.UserProfile.objects.filter(phone_number=request.user).first()    
subscriptions = users.Invite_code_bindings.objects.filter(invited_user_id=user.id).values_list(
            'user_invite_code__phone_number', flat=True)

Сам пробовал искать информацию о выводе данных из двух таблиц, но все они приводят к решению, где необходимо в одном сериалайзере добавлять другой. Это решение не работает или я криворукий. У меня получилось выводить максимум id связанной строки, но не номер телефона (из этой же строки).


Ответы (0 шт):