Django restframework generic viewset не работает с представлениями get и get detail с одинаковыми url_path и url_name

Как я могу заставить два представления в DRF Generic viewset использовать одинаковые url_paths и url_names при условии, что они используют одинаковые или разные методы, но разные details значения, например, оба могут быть Get методами, но будут иметь details=True и details=False на них

пример кода для большей наглядности;

 @action(methods=["get"], detail=False, url_path="users", url_name="users")
    def get_users(self, request):
        # code here
 @action(methods=["get"], detail=True, url_path="users", url_name="users")
    def get_user(self, request, id):

        # code here

get_users работают с этой конечной точкой -> {{base_url}}/{{prefix}}/users

get_user не работает с -> {{base_url}}/{{prefix}}/{{user-id}}/users

но если я изменю url_path и url_name на что-то другое, например -> single-user

тогда конечная точка для получения одного пользователя работает -> {{base_url}}/{{prefix}}/{{user-id}}/single-user

Как я могу решить эту проблему, чтобы пользователи и user имели одинаковые url_name и url_path, потому что действия имеют детализацию как False(users) и True(user) для них обоих соответственно

NB; Also please not that this viewset does not make use any model

Я выяснил, что у DRF действительно есть маршрутизация дополнительных HTTP-методов для дополнительных действий, которые можно посмотреть здесь; https://www.django-rest-framework.org/api-guide/viewsets/#routing-additional-http-methods-for-extra-actions

Вернуться на верх