Показывать товары на основе slug категории в Django 3

Я создал категорию и подкатегорию в проекте, и они отображаются так, как я хотел, но теперь у меня возникли небольшие трудности с выводом товаров на страницу категории.

У меня есть родительская категория и подкатегория, но не во всех случаях родительская категория будет иметь подкатегорию.

#models.py #Модель категории

class Category(models.Model):
   name = models.CharField(max_length=20)
   slug = models.SlugField(max_length=25)
   parent = models.ForeignKey('self', related_name='children', on_delete=models.CASCADE, blank=True, null=True)



class Meta:
      verbose_name_plural = 'Categories'
      ordering = ('name',)
  


def __str__(self): 
      return self.name 

#Модель продукта

class Product(models.Model):
    name = models.CharField(max_length=100)
    slug = models.SlugField(max_length=110)
    category = models.ForeignKey('Category', null=True, blank=True, on_delete=models.CASCADE)

#views.py

def home(request):
   products = Product.objects.all().order_by('?')
   categories = Category.objects.all()
   featured_products = Product.objects.filter(is_featured=True)

context = { 'продукты':продукты, 'category':categories, 'featured_products':featured_products } return render(request, "store/home.html", context)

Ниже приведен мой HTML-код

<div class="container">
    <nav class="main-nav">
       <ul class="menu sf-arrows">
          <li class=""><a href="{% url 'home-page' %}">Home</a></li>
          <li class=""><a href="{% url 'about-page' %}">About</a></li>
          <li class=""><a href="{% url 'home-page' %}">Services</a></li>
          {% for category in category %}
             {% if category.parent == None %}
                {% if category.parent.children %}
                   <li><a href="{{category.get_absolute_url }}" class="sf-with-ul">{{category.name}}</a>
                {% else %}
                   <li><a href="{{category.get_absolute_url }}" class="">{{category.name}}</a>
                {% endif %}
                   <ul>
                      {% for subcategory in category.children.all %}
                         <li><a href="{{sucategory.slug}}">{{subcategory.name}}</a></li>
                      {% endfor %}
                   </ul>
                </li>
             {% endif %}
          {% endfor %}
          <li class=""><a href="{% url 'contact-page' %}">Contact</a></li>
       </ul>
    </nav>
 </div>

Я хочу фильтровать продукты на основе родительской категории и подкатегории. Если выбрана родительская категория, то она должна вывести все товары, относящиеся к родительской категории, и то же самое для подкатегории. Помогите, пожалуйста, с функцией views.py для этого,

Вернуться на верх