user3501855
user3501855

Reputation: 131

Get count of list items that meet a condition with Jinja2

I have a list of dictionaries where each dict has a boolean entry. I want to display the items that are True, along with the count of those items. I'm using the selectattr filter, but it returns a generator, and calling |length on it raise an error. How can I get the length of the items returned from selectattr in Jinja?

my_list = [{foo=False, ...}, {foo=True, ...}, ...]
{{ my_list|selectattr('foo', 'equalto', True)|length }}

Upvotes: 7

Views: 13966

Answers (1)

larsks
larsks

Reputation: 311387

There is a list filter that will transform a generator into a list. So:

{{ my_list|selectattr('foo')|list|length }}

Upvotes: 11

Related Questions