Путь Django не совпал ни с одним из них при добавлении параметра запроса к конечной точке

Я использую django 4.1

У меня есть модель продукта

class Product(models.Model):
    product_id = models.CharField(
        blank=False,
        null=False,
        max_length=50,
        verbose_name="stock ID",
    )
    name = models.CharField(max_length=30, blank=False)
    price = models.IntegerField(blank=False)
    availability = models.IntegerField(verbose_name="product availability")
    timestamp = models.DateTimeField(auto_now=True)

product/urls.py

router = routers.DefaultRouter()
router.register("product/<slug:product_id>", productViewset, basename="productPrice")
urlpatterns = [
    path("", include(router.urls)),
]

и в проекте urls.py

api_patterns = [
    path("", include("product.urls")),
]

urlpatterns = [
    path("admin/", admin.site.urls),
    path("api/", include(api_patterns)),
]

когда я пытаюсь вызвать эту конечную точку "http://127.0.0.1:8000/api/product/2048cf23-6bb2-4532-a140-b13dd1361c4/", она не соответствует ни одному пути в моем проекте!

NB:product_id не является первичным ключом, так как существует более одной строки для одного и того же продукта, но с разным временем и ценой.

Я пытался использовать < str:product_id > < string:product_id > < uuid:product_id > но ничего не работает, я не уверен, почему это происходит, но когда я меняю url в product urls.py на router.register("product", productViewset, basename="productPrice"), это работает, но мне нужен путь к этому id для фильтрации набора запросов.

сообщение об ошибке

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/api/product/2048cf23-6bb2-4532-a140-b13dd1361c4/
Using the URLconf defined in myproject.urls, Django tried these URL patterns, in this order:

admin/
api/ ^product/<slug:product_id>//$ [name='productPrice-list']
api/ ^product/<slug:product_id>\.(?P<format>[a-z0-9]+)/?$ [name='productPrice-list']
api/ ^product/<slug:product_id>//(?P<pk>[^/.]+)/$ [name='productPrice-detail']
api/ ^product/<slug:product_id>//(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='productPrice-detail']
api/ ^$ [name='api-root']
api/ ^\.(?P<format>[a-z0-9]+)/?$ [name='api-root']
api/ ^$ [name='api-root']
api/ ^\.(?P<format>[a-z0-9]+)/?$ [name='api-root']
The current path, api/product/2048cf23-6bb2-4532-a140-b13dd1361c4/, didn’t match any of these.
Вернуться на верх