Django annotate не отрабатывает

Пытаюсь решить проблему с annotate в django. Проект реализован с помощью drf. Проблема в том, что annotate не выводит желаемый результат. Так же пытался сделать через дополнительное поле в serializers.py.

models.py

class PlayersGames(models.Model):
    game = models.ForeignKey(Games, related_name='game_id', blank=False, null=False, on_delete=models.DO_NOTHING)
    players = models.ForeignKey(Players, related_name='player_id', blank=True, null=True, on_delete=models.DO_NOTHING)
    place = models.IntegerField(blank=False, null=False)
    point = models.IntegerField(blank=True, null=True)

serializer.py

class MetricGamesSerializer(serializers.ModelSerializer):
    class Meta:
        model = PlayersGames
        fields = [
            'players',
            'game',
            'place',
            'point',
        ]

        read_only_fields = ['created_by', 'updated_by', 'update_by_id', 'created_by_id']

view.py

class ListGamePlayedView(generics.ListAPIView):
    authentication_classes = [SessionAuthentication]
    permission_classes = [IsAuthenticated]
    serializer_class = MetricGamesSerializer

    def get_queryset(self):
        user = self.request.user
        queryset = PlayersGames.objects.filter(players_id=user.id).annotate(
            _games=Count('game_id'), 
            _place=Avg('place'), 
            _point=Avg('point')
        )
        return queryset

По итогу я получаю следующий результат:

[
    {
        "players": 1,
        "game": 1,
        "place": 1,
        "point": 5
    },
    {
        "players": 1,
        "game": 2,
        "place": 1,
        "point": 5
    },
    {
        "players": 1,
        "game": 3,
        "place": 1,
        "point": 5
    },
    ...
]

Но ожидаю получить следующий результат:

[
    {
        "players": 1,
        "game": 3,
        "place": 1,
        "point": 5
    },
    {
        "players": 2,
        "game": 4,
        "place": 2.5,
        "point": 3.5
    },
    ...
]
Вернуться на верх