1

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,}]
dspencer
  • 4,297
  • 4
  • 22
  • 43
Boxer Robert
  • 1,169
  • 2
  • 8
  • 14
  • 1
    you need to add the `count` to your serializer. – Brown Bear Mar 19 '20 at 06:58
  • @BearBrown This is my Serializer '''class TestSerializer(serializers.ModelSerializer): #v1 = serializers.CharField(max_length=128, required=True) #count = serializers.IntegerField(required=True) class Meta: fields = ('v1', 'v2','v3','count',) model = models.Test''' after that i got error like this ->Field name `count` is not valid for model `Test`. – Boxer Robert Mar 19 '20 at 09:28

0 Answers0