Django. Как вывести товар в категории и подкатегории

Всем привет! Сделал на сайте категории и подкатегории товаров. Товары по подкатегориям выводятся, но по основным категориям нет. Подскажите пожалуйста, в чем проблема? Категории и подкатегории в models.py выглядят так:

class Category (models.Model):

    title = models.CharField(max_length=255, verbose_name='Название категории')
    parent_category = models.ForeignKey('self', verbose_name='Подкатегория', on_delete=models.CASCADE, null=True, blank=True)
    slug = models.SlugField(unique=True)

    def __str__(self):
        return self.title

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

Это сам товар

class Product(models.Model):

    category = models.ForeignKey(Category, verbose_name='Категория', on_delete=models.CASCADE, related_name='products')
    title = models.CharField(max_length=255, verbose_name='Наименование продукта')
    slug = models.SlugField(unique=True)
    image = models.ImageField(verbose_name='Изображение')
    description = models.TextField(verbose_name='Описание')
    price = models.DecimalField(max_digits=9, decimal_places=0, verbose_name='Цена')

    def __str__(self):
        return self.title

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

И вот так они выводятся во views.py

class ProductCategory(ListView):

    model = Product
    template_name = 'mainapp/product_category.html'
    context_object_name = 'products'

    def get_queryset(self):
        return Product.objects.filter(category__slug=self.kwargs['slug'])

    def get_context_data(self, *, object_list=None, **kwargs):
        context = super().get_context_data(**kwargs)
        context['title'] = Category.objects.get(slug=self.kwargs['slug'])
        context['categories'] = Category.objects.filter(parent_category=None)
        return context

Заранее спасибо!


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