46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
from rest_framework import serializers
|
|
from core.apps.evaluation.models import AutoEvaluationModel
|
|
from core.apps.evaluation.serializers.valuation.Valuation import ListValuationSerializer
|
|
from core.apps.evaluation.serializers.vehicle.Vehicle import ListVehicleSerializer
|
|
|
|
class BaseAutoevaluationSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = AutoEvaluationModel
|
|
fields = [
|
|
"id",
|
|
"valuation",
|
|
"vehicle",
|
|
]
|
|
|
|
class ListAutoevaluationSerializer(BaseAutoevaluationSerializer):
|
|
valuation_info = ListValuationSerializer(source="valuation", read_only=True)
|
|
vehicle_info = ListVehicleSerializer(source="vehicle", read_only=True)
|
|
|
|
class Meta(BaseAutoevaluationSerializer.Meta):
|
|
fields = BaseAutoevaluationSerializer.Meta.fields + [
|
|
"valuation_info",
|
|
"vehicle_info",
|
|
]
|
|
|
|
class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer):
|
|
from core.apps.evaluation.serializers.valuation.Valuation import RetrieveValuationSerializer
|
|
from core.apps.evaluation.serializers.vehicle.Vehicle import RetrieveVehicleSerializer
|
|
|
|
valuation_detail = RetrieveValuationSerializer(source="valuation", read_only=True)
|
|
vehicle_detail = RetrieveVehicleSerializer(source="vehicle", read_only=True)
|
|
|
|
class Meta(BaseAutoevaluationSerializer.Meta):
|
|
fields = BaseAutoevaluationSerializer.Meta.fields + [
|
|
"valuation_detail",
|
|
"vehicle_detail",
|
|
"created_at",
|
|
"updated_at",
|
|
]
|
|
|
|
class CreateAutoevaluationSerializer(BaseAutoevaluationSerializer):
|
|
class Meta(BaseAutoevaluationSerializer.Meta):
|
|
fields = [
|
|
"valuation",
|
|
"vehicle",
|
|
]
|