employees api

This commit is contained in:
Mikan
2025-05-19 17:00:02 +03:00
parent 5623d01134
commit 59df2c55d9
7 changed files with 104 additions and 8 deletions

View File

@@ -1,3 +1,30 @@
from django.shortcuts import render
from rest_framework import viewsets
from rest_framework.filters import SearchFilter, OrderingFilter
from django_filters.rest_framework import DjangoFilterBackend
from .models import Position, Department, Employee
from .serializers import PositionSerializer, DepartmentSerializer, EmployeeSerializer
from .filters import EmployeeFilter # Фильтры будут добавлены позже
# Create your views here.
class PositionViewSet(viewsets.ModelViewSet):
queryset = Position.objects.all()
serializer_class = PositionSerializer
filter_backends = [SearchFilter, OrderingFilter]
search_fields = ["name"]
ordering_fields = ["name"]
class DepartmentViewSet(viewsets.ModelViewSet):
queryset = Department.objects.all()
serializer_class = DepartmentSerializer
filter_backends = [SearchFilter, OrderingFilter]
search_fields = ["name"]
ordering_fields = ["name"]
class EmployeeViewSet(viewsets.ModelViewSet):
queryset = Employee.objects.all()
serializer_class = EmployeeSerializer
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
filterset_class = EmployeeFilter
search_fields = ["account__first_name", "account__last_name", "position__name", "department__name"]
ordering_fields = ["department", "position", "account__last_name"]