У меня есть таблица заказов, которая содержит ID, store_name, order_date, ..... Я хочу создать конечную точку, которая возвращает мне JSON, который состоит из Count of Orders из всех магазины. Что-то выглядит следующим образом:DjangoRestFramework: Не удалось вернуть счет в ответе JSON
[{store_name: 'Target', count: 10}, {store_name: 'Walmart', count: 20}, {store_name: 'Costco', count: 5}]
Запрос я написал это:
queryset = Stores.objects.all().values('store_name').annotate(total=Count('store_name'))
При печати QuerySet, я получаю то, что мне нужно, как уже упоминалось выше. Но когда я сериализации данных, я получаю следующее:
[{store_name: 'Target'}, {store_name: 'Walmart'}, {store_name: 'Costco'}]
Не уверен, что я делаю неправильно .. Я включил мой код. (Я не включая операторов импорта)
serializer.py
class StoresSerializer(ModelSerializer):
class Meta:
model = Stores
exclude = ['order_date',]
views.py
class StoresViewSet(ModelViewSet):
queryset = Stores.objects.all().values('store_name').annotate(total=Count('store_name'))
serializer_class = StoresSerializer
Что мне не хватает?
Проверить tha t question http://stackoverflow.com/questions/18434425/how-to-add-annotate-data-in-django-rest-framework-queryset-responses –