Reputation: 47
My variable inside a serializer MySerializer.
du = serializers.SerializerMethodField()
def get_du(self, obj):
modelname = Somemodel.objects.filter('id=id')
du = sum(modelname.values_list('t', flat=True))
return du
I want to return response in descending order as per value of du. My View:
def get(self, request):
queryset = Anothermodel.objects.all()
serializer = MySerializer(queryset, many=True)
return Response({"organization": serializer.data}, status=status.HTTP_200_OK)
Upvotes: 0
Views: 1086
Reputation: 47
Managed to solve it with help How to sort values of serializer custom field in DRF
serializer_data = sorted(serializer.data, key=lambda k: k['du'], reverse=True)
return Response({"info": serializer_data}, status=status.HTTP_200_OK)
Upvotes: 1
Reputation: 344
Have you tried to use .order_by()? Something like:
AnotherModel.objects.all().order_by('-du')
https://docs.djangoproject.com/en/3.0/ref/models/querysets/
Upvotes: 0