Конфликт между путями djoser-а и собственного представления. Django RF

Всем привет! Задача по ТЗ следующая, нужно поставить djoser на путь users/, что бы обрабатывать эндпоинты для пользователей (регистрация и т.д). Так же есть 2-а дополнительных метода @action GET users/subcriptions/ - для получения всех подписок и @action POST, DELETE users/{id}/subscribe/ - для подписки/отписки.

urls

users = DefaultRouter()
users.register('users', views.UserViewSet)

router = DefaultRouter()
router.register('tags', TagViewSet)
router.register('recipes', RecipeViewSet, basename='recipes')
router.register('ingredients', IngridientViewSet)
router.register('users', SubscribtionsViewSet, basename='subscribe')


urlpatterns = [
    path('', include(router.urls)),
    path('', include(users.urls)),
    re_path(r'^auth/', include('djoser.urls.authtoken')),
]

views

class SubscribtionsViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, GenericViewSet):
    @action(
        methods=['GET'],
        detail=False,
        permission_classes=[permissions.IsAuthenticated],
        pagination_class=LimitPageNumberPagination,
    )
    def subscriptions(self, request):
        ...

    @action(
        methods=['POST', 'DELETE'],
        detail=True,
        permission_classes=[permissions.IsAuthenticated],
    )
    def subscribe(self, request, pk):
        pass

Изначально я наследовался от viewset djoser и объединял таким образом все нужные пути под одним представлением, но мне сказали, что наследование избыточно и нужно делать отдельно djoser и отдельно представление для двух вышеупомянутых методов. Как теперь быть, что бы не было конфликта между 2-я путями? При условии. что представление SubscribeViewSet трогать нельзя, она удовлетворяет требованиям.


Ответы (1 шт):

Автор решения: zaritskiy aleskander

проблему решило наследование для SubscribtionsViewSet. Оставив только SubscribtionsViewSet(GenericViewSet).

→ Ссылка