Django-mptt Дерево категорий

подскажите как вывести категории через load_mptt tags сейчас я вывел через циклы и как я могу обращаться к категории продукта product.category... в цикле продуктов под продуктом мне нужно вывести его категории

models.py

class Category(MPTTModel):

    class Meta:
        verbose_name = 'Категории'
        verbose_name_plural = 'Категории'
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True,on_delete=models.CASCADE)
    name = models.CharField(max_length=250,verbose_name='Имя категории')
    slug = models.SlugField(unique=True)

    def __str__(self):

        try:

            ancestors = self.get_ancestors(include_self=True)
            ancestors = [i.name for i in ancestors]
        except:
            ancestors = [self.name]

        return ' > '.join(ancestors[:len(ancestors) + 1])

    def get_absolute_url(self):
        return reverse('category_detail',kwargs={'slug': self.slug})

    def get_fields_for_filter_in_template(self):
        return ProductFeatures.objects.filter(
            category=self,
            use_in_filter=True
        ).prefetch_related('category').value('feature_key','feature_measure','feature_name','filter_type')

class Product(models.Model):

    class Meta:
        verbose_name = 'Продукт'
        verbose_name_plural = 'Продукты'

    category =  TreeForeignKey(Category, blank=True, null=True, related_name='category', verbose_name="Выберите категорию",on_delete=models.CASCADE)
    title = models.CharField(max_length=250,verbose_name='Наименоватние продукта')
    slug=models.SlugField(unique=True)
    image1 = models.ImageField(verbose_name='Главное изображение')
    image2 = models.ImageField(null=True,blank=True, verbose_name='Изображение 2')
    image3 = models.ImageField(null=True,blank=True, verbose_name='Изображение 3')
    image4 = models.ImageField(null=True,blank=True, verbose_name='Изображение 4')
    image5 = models.ImageField(null=True,blank=True, verbose_name='Изображение 5')
    available = models.BooleanField(default=True)
    description = models.TextField(verbose_name='Описание товара',null=True)
    price = models.DecimalField(max_digits=10,decimal_places=2,verbose_name='Цена')

    def __str__(self):
        return self.title


    def get_model_name(self):
        return self.__class__.__name__.lower()

    def get_absolute_url(self):
        return reverse('product_detail',kwargs={'slug':self.slug})

views.py

    def get(self,request,*args,**kwargs):
        category = Category.objects.all()

        products = Product.objects.all().order_by('-id')[:8]
        for i in products:
            print('huiogyfyufyi', i)
        myimage= MyImage.objects.all()
        randomProducts= Product.objects.all().order_by('?')[:10]
        form= ContactForm(request.POST or None)

        context= {
            'category': category,
            'products' : products,
            'cart':self.cart,
            'myimage':myimage,
            'randomProducts':randomProducts,
            'form':form
        }
        return render(request,'index.html',context)

index.html

{% for node in category.all %}

     {% if node.level == 0 %} 
<li class="menu-item menu-item-has-children has-mega-menu"><a href="{{ node.get_absolute_url }}">{{ node.name }}</a>
  {% endif %}

  <div class="mega-menu">
    <div class="mega-wrap">
      <div class="mega-column">
        <ul class="mega-item mega-features">
          <li><a href="product-listing.html">NEW RELEASES</a></li>
          <li><a href="product-listing.html">FEATURES SHOES</a></li>
          <li><a href="product-listing.html">BEST SELLERS</a></li>
          <li><a href="product-listing.html">NOW TRENDING</a></li>
          <li><a href="product-listing.html">SUMMER ESSENTIALS</a></li>
          <li><a href="product-listing.html">MOTHER'S DAY COLLECTION</a></li>
          <li><a href="product-listing.html">FAN GEAR</a></li>
        </ul>
      </div>
      {% for item in node.children.all %}

      <div class="mega-column">
        <h4 class="mega-heading">{{item.name}} </h4>
        {% for child in item.children.all  %}
        <ul class="mega-item">
          <li><a href="{{ child.get_absolute_url }}">{{ child.name }}</a></li>
        </ul>
        {% endfor %}
      </div>
      {% endfor %}
    </div>
  </div>
</li>
{% endfor %}

</div>


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