Нужна помощь в отображении элементов из отношения ManyToMany в шаблоне Django

У меня возникают трудности с отображением элементов из многих полей в моем html-файле.

models.py

class Ingredients(models.Model):
    name = models.CharField('Nazwa', max_length = 100)
    ingredient_category = models.ForeignKey(ProductCategory, on_delete=models.CASCADE)


class ShoppingList(models.Model):
    name = models.CharField('Nazwa', max_length = 100)
    status = models.BooleanField(default = False)
    last_updated = models.DateTimeField('Ostatnia aktualizacja', auto_now=True)
    publish = models.DateTimeField('Stworzono', default=timezone.now)
    ingredient_list = models.ManyToManyField(Ingredients, related_name='shopping_list')
    slug = models.SlugField(unique=True, blank=True, max_length=254)

views.py

class HomePageView(TemplateView):
    template_name = "homepage.html"
    
    def get_context_data(self, **kwargs):
        context = super(HomePageView, self).get_context_data(**kwargs)

        shopping_list = ShoppingList.objects.all()
        context['shopping_list'] = shopping_list
        return context

homepage.html

{% for list in shopping_list.ingredient_list.all %}
    <div class="tab-pane fade {% if forloop.first %}show active{% else %}{% endif %}" id="list-{{list.id}}" role="tabpanel" aria-labelledby="list-{{list.id}}-tab">{{list.name}}</div>
{% endfor %}

Любая помощь о том, как правильно отображать элементы в моем файле шаблона, будет оценена по достоинству.

При слишком большом количестве полей вам придется делать вложенный цикл for. Допустим, у вас есть что-то вроде этого в ваших представлениях.

shoping_list = shoppinglist.objects.all()
context = {"shopping_list": shopping_list}

HTML

{% for i in shopping_list %}
  {{i.name}} <-- displays name from shopping list model
 {% for ingredient in i.ingredient_list.all%}
   {{ingredient.name}}
   {{ingredient.ingredient_category}}

Вот как можно получить доступ к элементам.

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