user13824551
user13824551

Reputation: 97

Count objects in queryset by value in a field

I have a queryset that is returned by the server:

queryset = Item.objects.all()
ItemSerializer(queryset, many=True).data

[OrderedDict([('id', '123'), ('status', 'Available')]), 
...
OrderedDict([('id', '321'), ('status', 'Confirmed')])]

I can get the number of items by status:

queryset.values('status').annotate(Count('status'))

<QuerySet [{'status': 'Available', 'status__count': 3}, {'status': 'Confirmed', 'status__count': 2}]>

As a result, I am trying to get such a response from the server:

[{"id":"123","status":"Available"},
...
{"id":"321","status":"Confirmed"},
{"status": "Available", "status__count": 3}, 
{"status": "Confirmed", "status__count": 2}]

Upvotes: 0

Views: 46

Answers (0)

Related Questions