Как запросить дочерние поля, принадлежащие родительскому классу. Django

Навигационное меню на реальном сайте имеет выпадающее меню, когда это необходимо. Это именно то, чего я хочу добиться здесь.

Класс NavMenu - это заголовок, который вы видите в NavBar, т.е. Услуги. Класс Item - это подменю под NavMenu, т.е. список услуг, которые появляются на вкладке услуги

В моем коде я хочу вызывать подменю, которые находятся под определенным заголовком, т.е. подменю в разделе Service

Моя модель:

class NavMenu(models.Model):
    title = models.CharField(max_length=50)

    def __str__(self):
        return self.title


class Item(models.Model):
    category = models.ForeignKey(NavMenu, on_delete=models.CASCADE)
    title = models.CharField(max_length=50)

    def __str__(self):
        return self.title
    

class ItemMedia(models.Model):
    category = models.ForeignKey(NavMenu, on_delete=models.CASCADE, null=True)
    menu_item_p = models.ImageField()
    description = models.CharField(max_length=100)

Мой views.py:

class IndexPageView(TemplateView):
    model = NavMenu, Item, ItemMedia,
    template_name = 'index.html'
    extra_context = {
        'navmenu': NavMenu.objects.order_by('title'),
        'submenu': NavMenu.category_set.all(),
        'media_items': NavMenu.category_set.all(),
        }

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