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
Заранее спасибо!