Подсчет объектов при некотором условии с помощью шаблонов Django

Я хотел бы подсчитать предметы при определенном условии.

Например (придумано view):

...
context['example'] = test
return render(request, 'index.html', context)
....

example имеет следующие значения:

col1 col2
12 34
99 42
99 42

Я знаю, как подсчитать все значения внутри example, я мог бы сделать что-то вроде этого:

{{ example.count }} и это вернет 3

Мой вопрос заключается в следующем: как я могу подсчитать все предметы при определенном условии?

Например, есть ли встроенная возможность сделать что-то вроде count where example.col2==42, а результат должен быть 2

Это можно сделать с помощью YAQL

import yaql

data = {"example": [{"col1": 12, "col2": 34}, {"col1": 99, "col2": 42}, {"col1": 99, "col2": 42}]}

engine = yaql.factory.YaqlFactory().create()

def evaluate(data, expr):
    return engine(expr).evaluate(data=data)


expr = '$.example.where($.col2 = 42).len()'

evaluate(data, expr)
Вернуться на верх