Django - Возвращение списка первичных ключей с другим атрибутом сущности, на которую он ссылается

У меня есть модель FollowUser и User, и есть URL, который получает список людей, за которыми следит пользователь (followees). Я хотел бы вернуть список последователей (модель пользователя), который содержит их UUID и имя пользователя последователя. Как это сделать быстро и эффективно?

models.py

class User(AbstractBaseModel):
    username = models.CharField(max_length=255, unique=True)
    first_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)
    email = models.EmailField(max_length=255, unique=True, primary_key=True)

class FollowUser(AbstractSimpleModel):
    follower_id = models.ForeignKey(User, on_delete=models.CASCADE, related_name="follower_following")
    followee_id = models.OneToOneField(User, on_delete=models.CASCADE, related_name="followee_followed_by")

views.py

def get_followees(request, follower_id):
    try:
        followees = FollowUser.objects.filter(follower_id=follower_id).values_list('followee_id', flat=True)
        data = dict(followee_ids=list(followees))
        return JsonResponse(data, status=status.HTTP_200_OK)
    except FollowUser.DoesNotExist:
        return Response(dict(error=f'follower id: {follower_id} does not exist'), status=status.HTTP_400_BAD_REQUEST)
Вернуться на верх