How to display raw sql query count value in django rest api

1k Views Asked by At

The Group by count value is not showing rest api call but group by working perfectly This is my views.py file

class TestList(generics.ListAPIView):
    queryset = Test.objects.raw('SELECT  1 as id ,v1 ,COUNT(*)  FROM posts_test GROUP BY v1 order by count(*) desc  LIMIT 10')
    serializer_class = TestSerializer

    def list(self, request):
        queryset = self.get_queryset()
        # the serializer didn't take my RawQuerySet, so made it into a list
        serializer = TestSerializer(list(queryset), many=True)
        return Response(serializer.data)

OutPut :

[{"v1":"fg","v2":"fg","v3":"fg"},
 {"v1":"nn","v2":"fg","v3":"fg"}, 
 {"v1":"kk","v2":"fg","v3":"fg"}]

But I want like this :

[{"v1":"fg","v2":"fg","v3":"fg","count":20,},
 {"v1":"nn","v2":"fg","v3":"fg","count":15,},
 {"v1":"kk","v2":"fg","v3":"fg","count":10,}]
0

There are 0 best solutions below