MalekBV
@MalekBV

Regex url django. Как сделать множество слагов чистым url?

Мне нужен url по типу
/catalog/catalog_slug/tag_slug1/tag_slug2/tag_slug3
для фильтрации элементов каталога по тегам

re_path(r'^catalog/(?P<catalog_slug>\w+)/(?P<tag_slugs>(?:\w+/)+)', ...)


Я читал, как сделать несколько tag_slugs (тут), но когда я смешиваю его со slug другой модели (каталогом) я получил:
TypeError: get() got multiple values for argument 'catalog_slug'


View
class CategorySeoTagsView(APIView):
    def get(self, catalog_slug, tag_slugs):
        pass
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 1
@russrage
Я
Смотрите get_absolute_url в модели и подкаталогах.

class Category
...
def get_absolute_url(self):
        return reverse(
            'catalog:product_list_by_category',
            kwargs={'category_slug': self.slug}
        )


class Product
...
def get_absolute_url(self):
        return reverse(
            'catalog:product_detail',
            kwargs={
                'product_slug': self.slug,
                'category_slug': self.category.slug
            }
        )


Что -то примерно такое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы