Ошибка Django url link Reverse for 'category' with keyword arguments '{'category.id': 1}' не найден. 1 шаблон

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

Reverse for 'category' with keyword arguments '{'category.id': 1}' not found. 1 pattern(s) tried: ['category/<int:category\\.id\\Z']

Виды

def category(request, category_id):
    products = Product.objects.filter(category=category_id)
    return

 render(request, 'product/category.html', {'products': products})

Модель

class Category(models.Model):
    name = models.CharField(max_length=255, unique=False, blank=True)
    slug = models.SlugField(unique=True)

    def __str__(self):
        return self.slug

    def get_absolute_url(self):
        return reverse("product:category", kwargs={"category.id": self.id})

Urls

urlpatterns = [
    path('', views.index, name="index"),
    path('detail/<int:product_id', views.detail, name="detail"),

    path('category/<int:category.id', views.category, name="category")
]

HTML Template, я пробовал два способа, ни один из них не сработал:

{% for category in categories %}
{{category.id}}
<a href="{{category.get_absolute_url}}"></a>
{% comment %}
<a href="{% url 'product:category' category_id=category.id %}"></a>
{% endcomment %}
{% endfor %}

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

class Product(models.Model):
    name = models.CharField(max_length=255, unique=False, blank=True)
    slug = models.SlugField(unique=True)
    category = models.ForeignKey(
        Category, on_delete=models.CASCADE, unique=False)

В урлах должно быть category_id, а не category.id.

Также необходимо > в конце с закрывающим /, поэтому попробуйте следующие урлы:

urlpatterns = [
    path('', views.index, name="index"),
    path('detail/<int:product_id>/', views.detail, name="detail"),

    path('category/<int:category_id>/', views.category, name="category")
]
Вернуться на верх