Выбрать КОЛИЧЕСТВО с помощью модели Django?

Кто-либо знает, существует ли способ просто выбрать количество строк, соответствующих запросу в Django? У меня есть поиск, я записал, что разделения заканчиваются в наборы 40, но я хотел бы отобразить общее количество результатов также. Я мог к чему-то как len (Model.objects.filter (имя __ icontains=search)), но это походит, который был бы чрезвычайно неэффективен (так как я предполагаю, что это генерировало бы "ВЫБОР * модель FROM" и затем все полученные объекты). Какие-либо предложения?

25
задан Andrew 30 July 2010 в 16:41
поделиться

2 ответа

Есть два основных способа справиться с этим:

  1. Используйте метод QuerySet count () Django - просто добавьте count () в конец соответствующего QuerySet
  2. ] Создание агрегата по QuerySet - агрегирование - это когда вы «извлекаете значения, полученные путем суммирования или агрегирования коллекции объектов». Ссылка: Документация по агрегированию Django

Выше приведены ссылки на соответствующие разделы документации Django.

44
ответ дан 28 November 2019 в 17:50
поделиться

Use count():

>>> Model.objects.count()
42
>>> Model.related_set.count()
102
>>> Model.related_set.filter(blah=42).count()
3
41
ответ дан 28 November 2019 в 17:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: