from rest_framework import serializers from core.apps.evaluation.models import QuickEvaluationModel class BaseQuickevaluationSerializer(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) created_by_name = serializers.CharField(source="created_by.get_full_name", read_only=True) class Meta: model = QuickEvaluationModel fields = [ "id", "created_by", "created_by_name", "brand", "model", "license_plate", "manufacture_year", "estimated_price", "created_at", ] class ListQuickevaluationSerializer(BaseQuickevaluationSerializer): class Meta(BaseQuickevaluationSerializer.Meta): pass class RetrieveQuickevaluationSerializer(BaseQuickevaluationSerializer): class Meta(BaseQuickevaluationSerializer.Meta): fields = BaseQuickevaluationSerializer.Meta.fields + [ "tech_passport_number", "mileage", "vin_number", "engine_number", "color", "fuel_type", "fuel_type_display", "body_type", "body_type_display", "condition", "condition_display", "updated_at", ] class CreateQuickevaluationSerializer(BaseQuickevaluationSerializer): class Meta(BaseQuickevaluationSerializer.Meta): fields = [ "tech_passport_number", "license_plate", "model", "brand", "manufacture_year", "mileage", "vin_number", "engine_number", "color", "fuel_type", "body_type", "condition", ]