haikal/api/serializers.py
2025-06-22 13:25:54 +03:00

99 lines
2.7 KiB
Python

from . import models
from rest_framework import serializers
from inventory import models as inventory_models
class CarVINSerializer(serializers.ModelSerializer):
class Meta:
model = models.CarVIN
fields = ["vin"]
def create(self, validated_data):
vin = validated_data.pop("vin")
return models.CarVIN.objects.create(vin=vin, **validated_data)
class CarMakeSerializer(serializers.ModelSerializer):
car_models = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="carmodel_set"
)
class Meta:
model = inventory_models.CarMake
fields = "__all__"
class CarModelSerializer(serializers.ModelSerializer):
car_series = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="carserie_set"
)
class Meta:
model = inventory_models.CarModel
fields = "__all__"
class CarSerieSerializer(serializers.ModelSerializer):
car_trims = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="cartrim_set"
)
class Meta:
model = inventory_models.CarSerie
fields = "__all__"
class CarTrimSerializer(serializers.ModelSerializer):
car_equipments = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="carequipment_set"
)
car_specification_values = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="carspecificationvalue_set"
)
class Meta:
model = inventory_models.CarTrim
fields = "__all__"
class CarEquipmentSerializer(serializers.ModelSerializer):
car_option_values = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="caroptionvalue_set"
)
class Meta:
model = inventory_models.CarEquipment
fields = "__all__"
class CarSpecificationSerializer(serializers.ModelSerializer):
child_specifications = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="carspecification_set"
)
class Meta:
model = inventory_models.CarSpecification
fields = "__all__"
class CarSpecificationValueSerializer(serializers.ModelSerializer):
class Meta:
model = inventory_models.CarSpecificationValue
fields = "__all__"
class CarOptionSerializer(serializers.ModelSerializer):
child_options = serializers.PrimaryKeyRelatedField(
many=True, read_only=True, source="caroption_set"
)
class Meta:
model = inventory_models.CarOption
fields = "__all__"
class CarOptionValueSerializer(serializers.ModelSerializer):
class Meta:
model = inventory_models.CarOptionValue
fields = "__all__"