Как правильно использовать mptt?

Есть модель:

class Employee(MPTTModel):
    name = models.CharField(max_length=100)
    position_name = models.CharField(max_length=100)
    position_lvl = models.IntegerField(null=True)
    hired_at = models.DateField(auto_now=True)
    salary = models.DecimalField(max_digits = 9, decimal_places= 2)
    parent = TreeForeignKey('self', null=True,blank=True, on_delete=models.CASCADE, related_name='subordinate')

    class MPTTMeta:
        order_insertion_by = ['position_lvl']

Вид:

def show_employees(request):
    return render(request, "employees.html",{'employees': Employee.objects.all()})

Есть шаблоны:

{% load mptt_tags %}
<ul>
    {% recursetree employees %}
        <li>
            <{{ node.id }}>{{ node.name }} - {{ node.position_name }} ({{ node.position_lvl }})
            {% if not node.is_leaf_node %}
                <ul class="children">
                    {{ children }}
                </ul>
            {% endif %}
            </li>
        {% endrecursetree %}
        </ul>

Я хочу показать сотрудников по их должности lvl (начальник начальника имеет lvl 0, сотрудник начальника имеет 2 и т.д.) Но когда я использую эту модель и шаблон, у меня не получается правильное изображение:

<6>Имя манагера - манагер (2)
<2>Дон Симон - Старший манагер (1)
<1>Влад Савельев - Самый старший (0)
<3>Генадий Горин - манагер (2)
<4>Вася Пупкин - Старший разраб (1)
<5>Виндовс Убунтович - разраб (2)

Темпалт идет: Имя - имя_должности (должность_lvl). И я хочу видеть всех сотрудников с lvl 2, затем их начальников с lbl 1 и начальника всех начальников с lvl 0. Как я могу сделать это правильно?

Вернуться на верх