48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
from django_core.mixins import BaseViewSetMixin
|
|
from django_filters.rest_framework import DjangoFilterBackend
|
|
from drf_spectacular.utils import extend_schema
|
|
from rest_framework.filters import OrderingFilter, SearchFilter
|
|
from rest_framework.permissions import AllowAny
|
|
from rest_framework.viewsets import ReadOnlyModelViewSet
|
|
|
|
from core.apps.evaluation.filters.quick import QuickevaluationFilter
|
|
from core.apps.evaluation.models import QuickEvaluationModel
|
|
from core.apps.evaluation.serializers.quick import (
|
|
CreateQuickevaluationSerializer,
|
|
ListQuickevaluationSerializer,
|
|
RetrieveQuickevaluationSerializer,
|
|
)
|
|
|
|
|
|
@extend_schema(tags=["QuickEvaluation"])
|
|
class QuickEvaluationView(BaseViewSetMixin, ReadOnlyModelViewSet):
|
|
queryset = QuickEvaluationModel.objects.select_related("created_by").all()
|
|
serializer_class = ListQuickevaluationSerializer
|
|
permission_classes = [AllowAny]
|
|
|
|
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
|
|
filterset_class = QuickevaluationFilter
|
|
search_fields = ["license_plate", "model", "brand"]
|
|
ordering_fields = [
|
|
"created_at",
|
|
"updated_at",
|
|
"license_plate",
|
|
"brand",
|
|
"model",
|
|
"car_type",
|
|
"manufacture_year",
|
|
"color",
|
|
"fuel_type",
|
|
"state_car",
|
|
"status",
|
|
"mileage",
|
|
]
|
|
ordering = ["-created_at"]
|
|
|
|
action_permission_classes = {}
|
|
action_serializer_class = {
|
|
"list": ListQuickevaluationSerializer,
|
|
"retrieve": RetrieveQuickevaluationSerializer,
|
|
"create": CreateQuickevaluationSerializer,
|
|
}
|