Django mptt фильтры детей
Я создаю сайт электронной коммерции, на котором есть категории и подкатегории. Я использую модель Django MPTT для категорий.
Я хочу добавить дочерние элементы категории при фильтрации категории, а при фильтрации дочерних элементов отфильтровать только дочерние элементы.
.
Вот процесс фильтрации, который я пробовал:
views.py
def categoryview(request):
category = Category.objects.all()
return render(request, 'products/category.html', {'category':category})
def filteredproducts(request, slug):
category = Category.objects.get(slug = cat_slug, is_active =True)
products = Products.objects.filter(category = category, is_active = True).order_by('-created_on')
return render(request, 'products/filteredproducts.html', {'products': products})
models.py
class Category(MPTTModel):
category = models.CharField(max_length = 255)
cat_slug = models.SlugField(max_length = 255, unique = True, default = 'random')
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
class Meta:
unique_together = ('cat_slug', 'parent')
verbose_name_plural = "categories"
def __str__(self):
return self.category