from django_core.mixins import BaseViewSetMixin from drf_spectacular.utils import extend_schema from rest_framework.permissions import AllowAny from rest_framework.viewsets import ReadOnlyModelViewSet from core.apps.evaluation.models import VehicleModel from core.apps.evaluation.serializers.vehicle import ( CreateVehicleSerializer, ListVehicleSerializer, RetrieveVehicleSerializer, ) @extend_schema(tags=["Vehicle"]) class VehicleView(BaseViewSetMixin, ReadOnlyModelViewSet): queryset = VehicleModel.objects.select_related( "brand", "model", "color", "fuel_type", "body_type", "position", ).all() serializer_class = ListVehicleSerializer permission_classes = [AllowAny] action_permission_classes = {} action_serializer_class = { "list": ListVehicleSerializer, "retrieve": RetrieveVehicleSerializer, "create": CreateVehicleSerializer, }