Как я могу получить число объектов для модели в шаблонах Django?

Вы используете неправильный синтаксис XPATH!

// div [class = 'inner-body'] / div [class = 'serp-wrap-all'] / table [class = ' table-valign-middle matrix-table ']

Правильный формат - добавить "@" перед "class"

// div [@ class =' внутреннее тело '] / дел [@ класс =' серп-наматывается все '] / ..

И в таблице выше нет таблицы 'matrix-table'.

Попробуйте использовать что-то вроде:

// div [@ class = 'inner-body'] / div [@ class = 'serp-wrap-all'] // * [содержит ( @ class, 'matrix-table')]

34
задан Mridang Agarwalla 18 February 2015 в 16:00
поделиться

2 ответа

Если Books имеет ForeignKey к Sections, то Django автоматически создаст обратное отношение от Sections обратно к Books, которое будет называться books_set. Это менеджер, что означает, что вы можете использовать .filter(), .get() и .count() на нем - и вы можете использовать их в своем шаблоне.

{{ sec.books_set.count }}

(Кстати, в именах моделей следует использовать существительные единственного числа, а не множественного - Book вместо Books. Экземпляр этой модели хранит информацию для одной книги, а не для многих.)

.
71
ответ дан 27 November 2019 в 16:23
поделиться

Что касается 2019 ответ. Я предложил бы использовать related_name при создании Вашего ForeignKey для сходства с этим:

section = models.ForeignKey(Section, on_delete=models.SET_NULL, related_name='books')

Затем можно использовать его следующим образом:

{{ section.books.count }} 

или

{{ section.books|length }}
0
ответ дан 27 November 2019 в 16:23
поделиться
Другие вопросы по тегам:

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