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