Reverse sorts a list of dictionaries by key
.
Variable
foods = [ {'name': 'Apple', 'category': 'Fruit'}, {'name': 'Banana', 'category': 'Fruit'}, {'name': 'Corn', 'category': 'Vegetable'}, {'name': 'Grape', 'category': 'Fruit'}, {'name': 'Hamburger', 'category': 'Meat'}, {'name': 'Pepper', 'category': 'Vegetable'}, ]
Template
<ol> {% for food in foods|dictsortreversed:'category' %} <li>{{ food.name }}, {{ food.category }} </li> {% endfor %} </ol>
Result
<ol> <li>Corn, Vegetable </li> <li>Pepper, Vegetable </li> <li>Hamburger, Meat </li> <li>Apple, Fruit </li> <li>Banana, Fruit </li> <li>Grape, Fruit </li> </ol>
Notice that the list is sorted by category in reverse order.
dictsortreversed
can also be used to sort lists of other sequences using the index of the item you wish to sort by as the argument.
See also: dictsort.