{% load recurse %} {% recurse menu.menu_set.all|dictsort:"lvl" with menu as menu %} {% loop %} {% endloop %} {% endrecurse %}