как отфильтровать товары по категориям Django
есть две модели: Категории и Подкатегории
class Category(models.Model):
parent = models.ForeignKey('self', blank=True, related_name='child', null=True, on_delete=models.CASCADE)
name = models.CharField('Категория', max_length=150, default='name')
url = models.SlugField(max_length=160, unique=True)
image = models.ImageField('Картинка', upload_to='img', null=True, blank=True)
class Meta:
unique_together = ('url', 'parent',)
verbose_name_plural = 'Категории'
def __str__(self):
return self.name
class SubCategory(models.Model):
name = models.CharField('Подкатегория', max_length=150, default=True)
url = models.SlugField(max_length=160, unique=True)
image = models.ImageField('Картинка', upload_to='img', null=True, blank=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Meta:
verbose_name = 'Подкатегория'
verbose_name_plural = 'Подкатегории'
помогите написать правильную view для фильтрации именно по подкатегориям, на данный момент выводятся просто все подкатегории
class CategoriesListView(ListView):
model = Category
queryset = Category.objects.all()
template_name = 'catalog/category_list.html'
context_object_name = 'category_list'
class SubCategoriesListView(Category, ListView):
model = SubCategory
queryset = SubCategory.objects.all()
template_name = 'catalog/subcategory_list.html'
context_object_name = 'subcategory_list'
urls.py
path('', views.CategoriesListView.as_view(), name='category_view'),
path('<category_slug>/', views.SubCategoriesListView.as_view(), name='subcategory_view'),
пробовал через MPTT - не получилось, решил через listview, потому что далее необходим класс Detailview