У меня есть модель приглашения, которая сопоставляет приглашенных с приглашенными user
и to_user
. Однако мне нужно вернуть клиенту только список пользователей. Как мне преобразовать набор запросов объектов Пригласить (просто id
, user
и to_user
) в запрос пользователей, сопоставляемых с этим to_user field
? Вот что у меня есть.
class Invite(AbstractBaseModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='invites',
verbose_name=_('User'))
to_user = models.OneToOneField(settings.AUTH_USER_MODEL,
unique=True, # Each user can only redeem one code.
on_delete=models.CASCADE,
related_name='invitees',
error_messages={'unique': _('You\'ve already claimed an invite.')},
verbose_name=_('To User'))
class InvitesViewSet(viewsets.ViewSet):
permission_classes = [IsAuthenticated, ]
def list(self, request):
"""
List all people invited by the request.user
"""
invite_objects = Invite.objects.filter(user=request.user)
invited_users = ??? (Users.objects.filter(id__in=invite_objects.to_user.id?) <- ?
serializer = UserSerializer(invited_users, many=True)
return Response(serializer.data)