Изменение 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))
]
Или, может быть, делать это - просто прекрасно, и я должен позволить этому быть таким, как оно есть сейчас.