2 Commits

Author SHA1 Message Date
ea3f14058e Merge pull request 'feat: change AutoEvaluation model field and serializer fields' (#40) from behruz into main
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 1m50s
Reviewed-on: #40
2026-04-02 13:28:51 +00:00
xoliqberdiyev
ee4754b23d feat: change AutoEvaluation model field and serializer fields 2026-04-02 18:28:21 +05:00
4 changed files with 93 additions and 49 deletions

View File

@@ -21,28 +21,6 @@ class ObjectOwnerType(models.IntegerChoices):
LEGAL = 2, _("Yuridik shaxs")
class PropertyRights(models.IntegerChoices):
PERMANENT_OWNERSHIP = 1, _("Doimiy egalik")
PERMANENT_USE = 2, _("Doimiy foydalanish")
TEMPORARY_USE = 3, _("Vaqtinchalik foydalanish")
TERM_LEASE = 4, _("Muddatli ijara")
LIFETIME_INHERITANCE = 5, _("Umrbod meros qilib olish")
class FormOwnership(models.IntegerChoices):
PRIVATE = 1, _("Xususiy")
STATE = 2, _("Davlat")
JSC = 3, _("AJ")
LLC = 4, _("MCHJ")
OTHER = 5, _("Boshqa")
class ValueDetermined(models.IntegerChoices):
MARKET_VALUE = 1, _("Bozor qiymati")
TAX_PURPOSE = 2, _("Soliq maqsadlari uchun")
LIQUIDATION_VALUE = 3, _("Tugatish qiymati")
UTILIZATION_VALUE = 4, _("Utilizatsiya qiymati")
class RateType(models.IntegerChoices):
CREDIT_COLLATERAL = 1, _("Kredit ta'minoti sifatida garovga qo'yish")

View File

@@ -0,0 +1,34 @@
# Generated by Django 5.2.7 on 2026-04-02 13:24
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evaluation', '0025_alter_evaluationrequestmodel_form_ownership_and_more'),
]
operations = [
migrations.AlterField(
model_name='autoevaluationmodel',
name='form_ownership',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_auto_form_ownership', to='evaluation.referenceitemmodel', verbose_name='form of ownership'),
),
migrations.AlterField(
model_name='autoevaluationmodel',
name='property_rights',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_auto_property_rights', to='evaluation.referenceitemmodel', verbose_name='property rights'),
),
migrations.AlterField(
model_name='autoevaluationmodel',
name='rate_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_auto_rate_type', to='evaluation.referenceitemmodel', verbose_name='rate type'),
),
migrations.AlterField(
model_name='autoevaluationmodel',
name='value_determined',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='evaluation_auto_value_determined', to='evaluation.referenceitemmodel', verbose_name='value determined'),
),
]

View File

@@ -8,13 +8,13 @@ from core.apps.evaluation.choices.auto import (
AutoCarWheel,
AutoEvaluationStatus,
AutoObjectType,
FormOwnership,
# FormOwnership,
LocationConvenience,
LocationHighways,
ObjectOwnerType,
PropertyRights,
RateType,
ValueDetermined,
# PropertyRights,
# RateType,
# ValueDetermined,
)
from .valuation import ValuationModel
@@ -123,29 +123,38 @@ class AutoEvaluationModel(AbstractBaseModel):
blank=True,
null=True,
)
property_rights = models.IntegerField(
property_rights = models.ForeignKey(
'evaluation.ReferenceitemModel',
verbose_name=_("property rights"),
choices=PropertyRights.choices,
blank=True,
null=True,
on_delete=models.SET_NULL,
related_name='evaluation_auto_property_rights'
)
form_ownership = models.IntegerField(
form_ownership = models.ForeignKey(
'evaluation.ReferenceitemModel',
verbose_name=_("form of ownership"),
choices=FormOwnership.choices,
blank=True,
null=True,
on_delete=models.SET_NULL,
related_name='evaluation_auto_form_ownership'
)
value_determined = models.IntegerField(
value_determined = models.ForeignKey(
'evaluation.ReferenceitemModel',
verbose_name=_("value determined"),
choices=ValueDetermined.choices,
blank=True,
null=True,
on_delete=models.SET_NULL,
related_name='evaluation_auto_value_determined'
)
rate_type = models.IntegerField(
rate_type = models.ForeignKey(
'evaluation.ReferenceitemModel',
verbose_name=_("rate type"),
choices=RateType.choices,
blank=True,
null=True,
on_delete=models.SET_NULL,
related_name='evaluation_auto_rate_type'
)
# ── Step 3 — Manzil ma'lumotlari ────────────────────────────────
@@ -290,4 +299,3 @@ class AutoEvaluationModel(AbstractBaseModel):
db_table = "AutoEvaluation"
verbose_name = _("Auto Evaluation")
verbose_name_plural = _("Auto Evaluations")

View File

@@ -2,18 +2,19 @@ import re
from rest_framework import serializers
from core.apps.evaluation.models import AutoEvaluationModel
from core.apps.evaluation.models import AutoEvaluationModel,ReferenceitemModel
from core.apps.evaluation.serializers.reference import ListReferenceitemSerializer
class BaseAutoevaluationSerializer(serializers.ModelSerializer):
status_display = serializers.CharField(source="get_status_display", read_only=True)
object_type_display = serializers.CharField(source="get_object_type_display", read_only=True, default=None)
rate_type_display = serializers.CharField(source="get_rate_type_display", read_only=True, default=None)
value_determined_display = serializers.CharField(source="get_value_determined_display", read_only=True, default=None)
object_owner_type_display = serializers.CharField(source="get_object_owner_type_display", read_only=True, default=None)
property_rights_display = serializers.CharField(source="get_property_rights_display", read_only=True, default=None)
form_ownership_display = serializers.CharField(source="get_form_ownership_display", read_only=True, default=None)
rate_type = ListReferenceitemSerializer(read_only=True)
value_determined = ListReferenceitemSerializer(read_only=True)
property_rights = ListReferenceitemSerializer(read_only=True)
form_ownership = ListReferenceitemSerializer(read_only=True)
class Meta:
model = AutoEvaluationModel
fields = [
@@ -26,13 +27,13 @@ class BaseAutoevaluationSerializer(serializers.ModelSerializer):
"car_number",
"manufacture_year",
"car_color",
"rate_type",
"rate_type_display",
"value_determined",
"value_determined_display",
"status",
"status_display",
"created_at",
"value_determined",
"rate_type",
"property_rights",
"form_ownership",
]
@@ -68,10 +69,6 @@ class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer):
"object_owner_individual_person_passport_num",
"object_owner_legal_entity",
"object_owner_legal_inn",
"property_rights",
"property_rights_display",
"form_ownership",
"form_ownership_display",
# Step 3
"object_location_province",
"object_location_district",
@@ -101,6 +98,33 @@ class RetrieveAutoevaluationSerializer(BaseAutoevaluationSerializer):
class CreateAutoevaluationSerializer(serializers.ModelSerializer):
property_rights = serializers.PrimaryKeyRelatedField(
queryset=ReferenceitemModel.objects.all(),
required=False,
allow_null=True,
)
value_determined = serializers.PrimaryKeyRelatedField(
queryset=ReferenceitemModel.objects.all(),
required=False,
allow_null=True,
)
form_ownership = serializers.PrimaryKeyRelatedField(
queryset=ReferenceitemModel.objects.all(),
required=False,
allow_null=True,
)
value_determined = serializers.PrimaryKeyRelatedField(
queryset=ReferenceitemModel.objects.all(),
required=False,
allow_null=True,
)
rate_type = serializers.PrimaryKeyRelatedField(
queryset=ReferenceitemModel.objects.all(),
required=False,
allow_null=True,
)
class Meta:
model = AutoEvaluationModel
fields = [