Подсчет 2 наборов запросов глубоко внутри Django шаблона - PullRequest
0 голосов
/ 15 февраля 2020

Есть ли способ подсчета в шаблоне Django на втором глубоком наборе запросов, подключенном через FK / M2M? Например,

Модель A соответствует FK для Модели B, а Модель B - M2M для Модели C

    {% for C in Cs %}
       {% for B in C %)
         {% if B.A.all.count >= 2 %} B Has multiple A's!
         {% else %} B only has 1 A! {% endif %}
       {% endfor %}
    {% endfor %}

По сути, я хочу посчитать количество A в пределах B, и если это 2 или более, просто отобразите «Несколько», поскольку их перечисление фактически нарушает мой шаблон. Но я не могу заставить его работать. В то же время у меня работает следующее DOES :

    {% for C in Cs %}
         {% if C.B.all.count >= 2 %} C has multiple B's!
         {% else %} C only has 1 B! {% endif %}
    {% endfor %}

Я просто не могу получить его на go на один набор запросов глубже. Любая помощь? Нужно ли делать это в представлениях?

1 Ответ

0 голосов
/ 15 февраля 2020

Вы должны просто посчитать его в views.py и отправить его на свою страницу в форме диктовки.

count = B.A.all().count() 
return render(request, 'page.html', {'count':count})

Но если вы настаиваете на использовании шаблона, попробуйте: {% if B.A.count >= 2 %} не нужно "все"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...