from rest_framework import serializers from core.apps.evaluation.models import VehicleModel class BaseVehicleSerializer(serializers.ModelSerializer): fuel_type_display = serializers.CharField(source="get_fuel_type_display", read_only=True) body_type_display = serializers.CharField(source="get_body_type_display", read_only=True) condition_display = serializers.CharField(source="get_condition_display", read_only=True) class Meta: model = VehicleModel fields = [ "id", "brand", "model", "license_plate", "manufacture_year", "color", "fuel_type_display", "condition_display", ] class ListVehicleSerializer(BaseVehicleSerializer): class Meta(BaseVehicleSerializer.Meta): pass class RetrieveVehicleSerializer(BaseVehicleSerializer): class Meta(BaseVehicleSerializer.Meta): fields = [ "id", "tech_passport_series", "tech_passport_number", "tech_passport_issued_date", "tech_passport_issued_by", "license_plate", "model", "brand", "manufacture_year", "vin_number", "engine_number", "color", "mileage", "fuel_type", "fuel_type_display", "body_type", "body_type_display", "condition", "condition_display", "position", "created_at", "updated_at", ] class CreateVehicleSerializer(BaseVehicleSerializer): class Meta(BaseVehicleSerializer.Meta): fields = [ "tech_passport_series", "tech_passport_number", "tech_passport_issued_date", "tech_passport_issued_by", "license_plate", "model", "brand", "manufacture_year", "vin_number", "engine_number", "color", "mileage", "fuel_type", "body_type", "condition", "position", ]