Как запросить дочерние поля, принадлежащие родительскому классу. 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(),
}