116 lines
4.0 KiB
Python
116 lines
4.0 KiB
Python
from rest_framework import serializers
|
|
|
|
from core.apps.evaluation.models import VehicleModel
|
|
|
|
|
|
class BaseVehicleSerializer(serializers.ModelSerializer):
|
|
brand_name = serializers.CharField(source="brand.name", read_only=True, default=None)
|
|
model_name = serializers.CharField(source="model.name", read_only=True, default=None)
|
|
color_name = serializers.CharField(source="color.name", read_only=True, default=None)
|
|
fuel_type_name = serializers.CharField(source="fuel_type.name", read_only=True, default=None)
|
|
body_type_name = serializers.CharField(source="body_type.name", read_only=True, default=None)
|
|
condition_display = serializers.CharField(source="get_condition_display", read_only=True)
|
|
position_name = serializers.CharField(source="position.name", read_only=True, default=None)
|
|
|
|
class Meta:
|
|
model = VehicleModel
|
|
fields = [
|
|
"id",
|
|
"brand",
|
|
"brand_name",
|
|
"model",
|
|
"model_name",
|
|
"license_plate",
|
|
"manufacture_year",
|
|
"color",
|
|
"color_name",
|
|
"fuel_type_name",
|
|
"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",
|
|
"brand",
|
|
"brand_name",
|
|
"model",
|
|
"model_name",
|
|
"manufacture_year",
|
|
"vin_number",
|
|
"engine_number",
|
|
"color",
|
|
"color_name",
|
|
"mileage",
|
|
"fuel_type",
|
|
"fuel_type_name",
|
|
"body_type",
|
|
"body_type_name",
|
|
"condition",
|
|
"condition_display",
|
|
"position",
|
|
"position_name",
|
|
"created_at",
|
|
"updated_at",
|
|
]
|
|
|
|
|
|
class CreateVehicleSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = VehicleModel
|
|
fields = [
|
|
"tech_passport_series",
|
|
"tech_passport_number",
|
|
"tech_passport_issued_date",
|
|
"tech_passport_issued_by",
|
|
"license_plate",
|
|
"brand",
|
|
"model",
|
|
"manufacture_year",
|
|
"vin_number",
|
|
"engine_number",
|
|
"color",
|
|
"mileage",
|
|
"fuel_type",
|
|
"body_type",
|
|
"condition",
|
|
"position",
|
|
]
|
|
|
|
|
|
class VehicleApplicationSerializer(serializers.Serializer):
|
|
person_name = serializers.CharField()
|
|
property_owner = serializers.CharField(max_length=100)
|
|
address = serializers.CharField(max_length=255)
|
|
marka = serializers.CharField(max_length=100)
|
|
model = serializers.CharField(max_length=100)
|
|
configuration = serializers.CharField(max_length=100)
|
|
auto_number = serializers.CharField(max_length=100)
|
|
date_created = serializers.DateTimeField()
|
|
mileage = serializers.IntegerField()
|
|
vehicle_identification = serializers.CharField(max_length=100)
|
|
engine_number = serializers.CharField(max_length=100)
|
|
colour = serializers.CharField(max_length=100)
|
|
registration_certificate_series = serializers.CharField(max_length=100)
|
|
tec_passport_number = serializers.CharField(max_length=100)
|
|
tec_passport_date = serializers.DateTimeField()
|
|
tec_passport_place = serializers.CharField(max_length=255)
|
|
body_type = serializers.CharField(max_length=100)
|
|
chassis = serializers.CharField(max_length=100)
|
|
plate = serializers.CharField(max_length=100)
|
|
value_type = serializers.CharField(max_length=100)
|
|
evaluation_purpose = serializers.CharField(max_length=100)
|
|
personal_id_number = serializers.IntegerField()
|
|
id_number = serializers.CharField(max_length=9)
|