Изменение URL-адреса django defaultrouter

Итак, я хочу, чтобы URL /users/ получал не список пользователей, а только имя текущего пользователя. Для достижения этой цели я добавил метод list и перезаписал его следующим образом:

def list(self, request, *args, **kwargs):
    """ Override list method so it only returns current user username. """
    data = {"username": request.user.username}
    return Response(data, status=status.HTTP_200_OK)

Но я чувствую, что это не правильное решение, потому что список должен получить всех пользователей.

Есть ли способ изменить поведение маршрутизатора Django по умолчанию? Чтобы URL /users/ выполнял другой метод, а не list().

urls.py

from django.urls import include, path
from rest_framework.routers import DefaultRouter
from users.views import UserViewSet

router = DefaultRouter()
router.register(r'users', UserViewSet, basename='users')

urlpatterns = [
    path('', include(router.urls))
]

Или, может быть, делать это - просто прекрасно, и я должен позволить этому быть таким, как оно есть сейчас.

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