Я создаю бэкэнд, используя структуру отдыха django.Я создаю пользовательские наборы настроек django и маршрутизаторы urlpattern.Я хочу добавить фильтр для имени пользователя в URL, если имя пользователя передано, а если нет, то показать всех пользователей.У меня будет мой код ниже.
Это просмотры:
from django.contrib.auth.models import User
from ..serializers import UserSerializer
from rest_framework import viewsets
class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
def get_queryset(self):
queryset = User.objects.all()
username = self.request.query_params.get('username', None)
if username is not None:
queryset = queryset.filter(username = username)
return queryset
Вот файл URL:
from users.api.views.userViews import UserViewSet
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register(r'(?P<username>.+)/$', UserViewSet, base_name='user')
urlpatterns = router.urls
Вот URL в настройках:
path('api/users/', include('users.api.urls.userUrls')),
Я хочу следующее:
api/users/
для возврата всех пользователей и api/users/testAdmin
для возврата объекта администратора *