为基于Django操作的视图创建多个url_路径

为基于Django操作的视图创建多个url_路径,django,django-rest-framework,Django,Django Rest Framework,我使用的是DRF,我有以下视图集操作视图: @action(methods=['get'], detail=False, url_path=r'top-products/(?P<tag>\w*)/(?P<query>\w*)') def top_products(self, request, tag='', query=''): print(f'tag \t {tag}, query \t {query}') filter

我使用的是DRF,我有以下视图集操作视图:

    @action(methods=['get'], detail=False, url_path=r'top-products/(?P<tag>\w*)/(?P<query>\w*)')
    def top_products(self, request, tag='', query=''): 
        print(f'tag \t {tag}, query \t {query}')
        filtered = Product.objects.all() \
            .annotate(items_count=Count('products_users')) \
            .order_by('-items_count')
        if tag:
            filtered.filter(tags__name=tag)
        if query:
            filtered.filter(name__contains=[query.lower()])
        topProducts = filtered
        paginator = StandardResultsSetPagination()
        result_page = paginator.paginate_queryset(topProducts, request)
        data = ProductSerializer(result_page, many=True).data
        return paginator.get_paginated_response(data) 
经过一段时间的搜索,我发现我需要为每个案例创建一个URL模式,但是如何在Django中为一个动作视图创建多个URL路径呢

- tag and query values exist
- one of them exists
- none exist