feat(auto-evaluation): to'liq CRUD API va 4 bosqichli forma qo'shildi
- 10 ta yangi choice klass qo'shildi: ObjectOwnerType, PropertyRights, FormOwnership, LocationHighways, LocationConvenience, AutoCarType, AutoCarWheel - AutoEvaluationModel ga ~30 ta yangi field qo'shildi (4 bosqich): 1-bosqich: ro'yxatga olish raqami, sanalar, ob'ekt turi 2-bosqich: egasi ma'lumotlari (jismoniy/yuridik), mulk huquqi, egalik shakli 3-bosqich: manzil (viloyat, tuman, shahar, mahalla, ko'cha, uy) 4-bosqich: avtomobil (tex passport, marka, model, raqam, rang, dvigatel) - CreateSerializer ga validatsiya qo'shildi: passport formati (AA 1234567), tex passport formati (AAA 1234567), egasi turiga qarab majburiy fieldlar (jismoniy yoki yuridik) - View ReadOnlyModelViewSet dan ModelViewSet ga o'zgartirildi - Admin 4 bosqichli fieldset bilan yangilandi - Yangi filterlar: object_owner_type, property_rights, form_ownership - VehicleModel fieldlari FK → ReferenceitemModel ga o'tkazildi - Migratsiyalar: 0015, 0016, 0017
This commit is contained in:
@@ -1,28 +1,39 @@
|
||||
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)
|
||||
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",
|
||||
"fuel_type_display",
|
||||
"color_name",
|
||||
"fuel_type_name",
|
||||
"condition_display",
|
||||
]
|
||||
|
||||
|
||||
class ListVehicleSerializer(BaseVehicleSerializer):
|
||||
class Meta(BaseVehicleSerializer.Meta):
|
||||
pass
|
||||
|
||||
|
||||
class RetrieveVehicleSerializer(BaseVehicleSerializer):
|
||||
class Meta(BaseVehicleSerializer.Meta):
|
||||
fields = [
|
||||
@@ -32,34 +43,40 @@ class RetrieveVehicleSerializer(BaseVehicleSerializer):
|
||||
"tech_passport_issued_date",
|
||||
"tech_passport_issued_by",
|
||||
"license_plate",
|
||||
"model",
|
||||
"brand",
|
||||
"brand_name",
|
||||
"model",
|
||||
"model_name",
|
||||
"manufacture_year",
|
||||
"vin_number",
|
||||
"engine_number",
|
||||
"color",
|
||||
"color_name",
|
||||
"mileage",
|
||||
"fuel_type",
|
||||
"fuel_type_display",
|
||||
"fuel_type_name",
|
||||
"body_type",
|
||||
"body_type_display",
|
||||
"body_type_name",
|
||||
"condition",
|
||||
"condition_display",
|
||||
"position",
|
||||
"position_name",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
]
|
||||
|
||||
class CreateVehicleSerializer(BaseVehicleSerializer):
|
||||
class Meta(BaseVehicleSerializer.Meta):
|
||||
|
||||
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",
|
||||
"model",
|
||||
"brand",
|
||||
"model",
|
||||
"manufacture_year",
|
||||
"vin_number",
|
||||
"engine_number",
|
||||
|
||||
Reference in New Issue
Block a user