From 8d8744731a693e27a6ed07c9447a5f9e5d9ae41d Mon Sep 17 00:00:00 2001 From: xoliqberdiyev Date: Tue, 21 Apr 2026 15:28:03 +0500 Subject: [PATCH] feat: removing location fields from auto-evalutaion model, adding new tex_passport_file field for auto-evalutaion model --- core/apps/evaluation/admin/auto.py | 11 +--- ...tionmodel_object_location_city_and_more.py | 54 ++++++++++++++++++ core/apps/evaluation/models/auto.py | 57 +++---------------- core/apps/evaluation/models/quick.py | 6 -- .../serializers/auto/AutoEvaluation.py | 45 +++------------ 5 files changed, 72 insertions(+), 101 deletions(-) create mode 100644 core/apps/evaluation/migrations/0031_remove_autoevaluationmodel_object_location_city_and_more.py diff --git a/core/apps/evaluation/admin/auto.py b/core/apps/evaluation/admin/auto.py index 9c655e0..e6aa6f1 100644 --- a/core/apps/evaluation/admin/auto.py +++ b/core/apps/evaluation/admin/auto.py @@ -50,15 +50,8 @@ class AutoEvaluationAdmin(ModelAdmin): ("value_determined", "rate_type"), ), }), - ("Step 3 — Manzil ma'lumotlari", { - "fields": ( - ("object_location_province", "object_location_district"), - ("object_location_city", "object_location_neighborhood"), - ("object_location_street", "object_location_home"), - ("object_location_highways", "object_location_covenience"), - ), - }), - ("Step 4 — Avtomobil ma'lumotlari", { + + ("Step 3 — Avtomobil ma'lumotlari", { "fields": ( "tex_passport_serie_num", ("tex_passport_gived_date", "tex_passport_gived_location"), diff --git a/core/apps/evaluation/migrations/0031_remove_autoevaluationmodel_object_location_city_and_more.py b/core/apps/evaluation/migrations/0031_remove_autoevaluationmodel_object_location_city_and_more.py new file mode 100644 index 0000000..e74e4c5 --- /dev/null +++ b/core/apps/evaluation/migrations/0031_remove_autoevaluationmodel_object_location_city_and_more.py @@ -0,0 +1,54 @@ +# Generated by Django 5.2.7 on 2026-04-21 10:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('evaluation', '0030_autoevaluationmodel_evaluation_request'), + ] + + operations = [ + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_city', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_covenience', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_district', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_highways', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_home', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_neighborhood', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_province', + ), + migrations.RemoveField( + model_name='autoevaluationmodel', + name='object_location_street', + ), + migrations.RemoveField( + model_name='quickevaluationmodel', + name='tex_passport_file', + ), + migrations.AddField( + model_name='autoevaluationmodel', + name='tex_passport_file', + field=models.FileField(blank=True, null=True, upload_to='quick_evaluation/tech_passports/%Y/%m/', verbose_name='tech passport file'), + ), + ] diff --git a/core/apps/evaluation/models/auto.py b/core/apps/evaluation/models/auto.py index 144fa8f..b0f9d4b 100644 --- a/core/apps/evaluation/models/auto.py +++ b/core/apps/evaluation/models/auto.py @@ -62,6 +62,13 @@ class AutoEvaluationModel(AbstractBaseModel): null=True, ) + tex_passport_file = models.FileField( + verbose_name=_("tech passport file"), + upload_to="quick_evaluation/tech_passports/%Y/%m/", + blank=True, + null=True, + ) + # ── Step 1 — Umumiy ma'lumotlar ────────────────────────────────── registration_number = models.CharField( verbose_name=_("registration number"), @@ -180,56 +187,6 @@ class AutoEvaluationModel(AbstractBaseModel): related_name='evaluation_auto_rate_type' ) - # ── Step 3 — Manzil ma'lumotlari ──────────────────────────────── - object_location_province = models.CharField( - verbose_name=_("object location province"), - max_length=100, - blank=True, - null=True, - ) - object_location_district = models.CharField( - verbose_name=_("object location district"), - max_length=100, - blank=True, - null=True, - ) - object_location_city = models.CharField( - verbose_name=_("object location city"), - max_length=100, - blank=True, - null=True, - ) - object_location_neighborhood = models.CharField( - verbose_name=_("object location neighborhood"), - max_length=100, - blank=True, - null=True, - ) - object_location_street = models.CharField( - verbose_name=_("object location street"), - max_length=100, - blank=True, - null=True, - ) - object_location_home = models.CharField( - verbose_name=_("object location home"), - max_length=50, - blank=True, - null=True, - ) - object_location_highways = models.IntegerField( - verbose_name=_("location highways"), - choices=LocationHighways.choices, - blank=True, - null=True, - ) - object_location_covenience = models.IntegerField( - verbose_name=_("location convenience"), - choices=LocationConvenience.choices, - blank=True, - null=True, - ) - # ── Step 4 — Avtomobil ma'lumotlari ───────────────────────────── tex_passport_serie_num = models.CharField( verbose_name=_("tech passport series and number"), diff --git a/core/apps/evaluation/models/quick.py b/core/apps/evaluation/models/quick.py index 997667a..d501397 100644 --- a/core/apps/evaluation/models/quick.py +++ b/core/apps/evaluation/models/quick.py @@ -34,12 +34,6 @@ class QuickEvaluationModel(AbstractBaseModel): blank=True, null=True, ) - tex_passport_file = models.FileField( - verbose_name=_("tech passport file"), - upload_to="quick_evaluation/tech_passports/%Y/%m/", - blank=True, - null=True, - ) # Car info car_type = models.CharField( diff --git a/core/apps/evaluation/serializers/auto/AutoEvaluation.py b/core/apps/evaluation/serializers/auto/AutoEvaluation.py index 30c387f..b7c1a58 100644 --- a/core/apps/evaluation/serializers/auto/AutoEvaluation.py +++ b/core/apps/evaluation/serializers/auto/AutoEvaluation.py @@ -34,7 +34,6 @@ class BaseAutoevaluationSerializer(serializers.ModelSerializer): "object_owner_legal_inn", "tex_passport_serie_num", "rating_goal", - "object_location_province", "registration_number", "object_type", "object_type_display", @@ -73,12 +72,12 @@ class ListAutoevaluationSerializer(BaseAutoevaluationSerializer): class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer): car_type_display = serializers.CharField(source="get_car_type_display", read_only=True, default=None) car_wheel_display = serializers.CharField(source="get_car_wheel_display", read_only=True, default=None) - object_location_highways_display = serializers.CharField( - source="get_object_location_highways_display", read_only=True, default=None - ) - object_location_covenience_display = serializers.CharField( - source="get_object_location_covenience_display", read_only=True, default=None - ) + # object_location_highways_display = serializers.CharField( + # source="get_object_location_highways_display", read_only=True, default=None + # ) + # object_location_covenience_display = serializers.CharField( + # source="get_object_location_covenience_display", read_only=True, default=None + # ) class Meta(BaseAutoevaluationSerializer.Meta): fields = BaseAutoevaluationSerializer.Meta.fields + [ @@ -97,19 +96,9 @@ class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer): "object_owner_individual_person_passport_num", "object_owner_legal_entity", "object_owner_legal_inn", - # Step 3 - "object_location_province", - "object_location_district", - "object_location_city", - "object_location_neighborhood", - "object_location_street", - "object_location_home", - "object_location_highways", - "object_location_highways_display", - "object_location_covenience", - "object_location_covenience_display", # Step 4 "tex_passport_serie_num", + "tex_passport_file", "tex_passport_gived_date", "tex_passport_gived_location", "car_type", @@ -176,16 +165,8 @@ class UpdateAutoevaluationSerializer(serializers.ModelSerializer): "form_ownership", "value_determined", "rate_type", - # Step 3 - "object_location_province", - "object_location_district", - "object_location_city", - "object_location_neighborhood", - "object_location_street", - "object_location_home", - "object_location_highways", - "object_location_covenience", # Step 4 + "tex_passport_file", "tex_passport_serie_num", "tex_passport_gived_date", "tex_passport_gived_location", @@ -298,17 +279,9 @@ class CreateAutoevaluationSerializer(serializers.ModelSerializer): "form_ownership", "value_determined", "rate_type", - # Step 3 - "object_location_province", - "object_location_district", - "object_location_city", - "object_location_neighborhood", - "object_location_street", - "object_location_home", - "object_location_highways", - "object_location_covenience", # Step 4 "tex_passport_serie_num", + "tex_passport_file", "tex_passport_gived_date", "tex_passport_gived_location", "car_type", -- 2.49.1