Как я могу отобразить название MenuCard, MenuCardCategories и связанную MenuCardFood в документе .html с помощью jinja2?

Я хочу создать карту меню, с категориями и блюдами. Должна быть возможность создания нескольких менюКарт.

#Моя попытка

введите описание изображения здесь

Как отобразить название MenuCard, MenuCardCategories и связанную с ней MenuCardFood в документе .html с помощью jinja2? Результат должен выглядеть следующим образом...

#первое менюКарта

menuCardName
menuCardCategoryName
foodName
foodName
foodName

menuCardCategoryName
foodName
foodName
foodName

#второе менюКарта

menuCardName
menuCardCategoryName
foodName
foodName

Вам необходимо запросить MenuCard объекты и сгруппировать связанные MenuCardFood элементы по их категориям. Возможным решением может быть:

objects_list = []

for menu in MenuCard.objects.all():
    menu_context = {'menu': menu, 'categories': []}
    categories = menu.menuCard_menuCardFood.values('menuCardCategories').distinct()

    for category in categories:
        category_context = {'category': category}
        related_food_list = menu.menuCard_menuCardFood.filter(menuCardCategories=category)
        category_context.update({'food_list': related_food_list})
        menu_context['categories'].append(category_context)

    objects_list.append(menu_context)

Вышеприведенный код должен генерировать:

[
    {"menu": MenuCardObject1, "categories": ["category": MenuCardCategoryObject, "food_list": <QuerySet of MenuCardFood objects>],
    {"menu": MenuCardObject2, "categories": ["category": MenuCardCategoryObject, "food_list": <QuerySet of MenuCardFood objects>],
    {"menu": MenuCardObject3, "categories": ["category": MenuCardCategoryObject, "food_list": <QuerySet of MenuCardFood objects>],
]
Вернуться на верх