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)