Покажите для каждого поля, сколько элементов имеет каждое поле DjangoREST

#python #django #django-rest-framework

Вопрос:

Я работаю над проектом Django, кодирую некоторые вызовы API, в которых люди могут зарезервировать место для парковки. У меня есть база данных, и я хочу показать, сколько бронирований у каждого пользователя.

Я знаю, что это можно легко сделать на SQL, но я не могу найти способ сделать это на Python. Я уже пытался сделать то, что написано в документации: https://docs.djangoproject.com/en/3.1/topics/db/aggregation/#cheat-sheet но у меня это не работает.

Комментарии:

1. Вы можете получить количество с помощью <Модель>.объекты.фильтр(<Модель><поле>=<поле><значение>).количество()

2. Можете ли вы опубликовать код, который вы пробовали? Как сказал @Михай, вы можете отфильтровать бронирования по конкретному пользователю, а затем подсчитать их с count помощью метода.

Ответ №1:

Вы должны импортировать количество:

 from django.db.models import Count
 

Тогда попробуйте сделать что-нибудь в этом роде:

 return X.objects.values('xx').annotate(xx=Count('xx')).filter(xx__gte = whatever you want).count()
 

Должно сработать