В моем html файле, как я могу вывести размер набора запросов, который я использую (для целей моей отладки)
Я пробовал
{{ len(some_queryset) }}
но это не сработало. Каков формат?
Ответ 1
Дайте {{ some_queryset.count }} попытку.
Это лучше, чем использование len (которое можно вызвать с помощью {{ some_queryset.__len__ }}), поскольку оно оптимизирует SQL, сгенерированный в фоновом режиме, только для получения количества записей вместо самих записей.
Ответ 2
some_queryset.count() или {{some_queryset.count}} в вашем шаблоне.
Не используйте len, он намного менее эффективен. База данных должна выполнять эту работу. См. Документацию о count().
Однако, принимая во внимание рекомендацию о буфере, если вы все равно планируете итерировать записи, вы можете использовать len, который будет включать в себя разрешение запроса и внесение результирующих строк в основную память - это не будет идти потому что вы все равно будете посещать эти ряды. На самом деле это может быть быстрее, в зависимости от времени ожидания соединения db, но вы всегда должны измерять.
Ответ 3
Просто выделите комментарий @Yuji'Tomita'Tomita выше в качестве отдельного ответа:
Существует фильтр с именем length для вызова len() на все.