Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 }}
like image 288
user3501855 Avatar asked Jan 05 '23 05:01

user3501855


1 Answers

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

{{ my_list|selectattr('foo')|list|length }}
like image 148
larsks Avatar answered Jan 08 '23 06:01

larsks