Проблема в запросе к БД (SQLite)

И так... Имееем:

lvl1 = lavel.objects.all().filter(lvl=3)
lvl2 = lavel.objects.all().filter(lvl=4)
lvl3 = lavel.objects.all().filter(lvl=5)

context = {
        'Level1': lvl1,
        'Level2': lvl2,
        'Level3': lvl3,
}

return render(request, "blog/index.html", context=context)

В самом шаблоне:

{% for lvl1 in Level1 %}
        # ...

    {% for lvl2 in Level2.filter(owner=lvl1.owner) %}
        # ...

    {% endfor %}
{% endfor %}

Ошибка:

Could not parse the remainder: '(owner=lvl1.owner)' from 'Level2.filter(owner=lvl1.owner)'

Если это нужно, вот сама структура БД:

class lavel(models.Model):
    owner = models.ForeignKey('self', null=True, on_delete=models.CASCADE)
    lvl = models.IntegerField(null=True, default=0, verbose_name='Уровень')
    alias = models.TextField(null=True, default='', verbose_name='Алиас')
    title = models.TextField(null=True, default='', verbose_name='Заголовок')
    txt = models.TextField(null=True, default='', verbose_name='Текст')
    is_active = models.BooleanField(default=True, verbose_name='Пубикация')

Ну и немного доп. инфы:


По БД: реализовал метод "списки смежности" (owner ссылается на id той же сущности, что позволяет строить иерархию похожих объектов)


По цели: Сейчас пытаюсь вывести 3х-уровневую, разворачивающуюся менюшку, алгоритм сначала был описан на flask (вроде так пишется), затем перенесен на django (для меня было открытием в различии ginga-логики, но это все лирика). Вот, в преобразовании запроса с помощъю местной ORM случилась неведомая беда


Прошу помощи у более опытных/внимательных, за ранее всем спасибо, буду благодарен любой помощи


Ответы (0 шт):