feat: add mechnic-auto-model
This commit is contained in:
@@ -0,0 +1,268 @@
|
||||
# Generated by Django 5.2.7 on 2026-05-05 11:52
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("evaluation", "0042_alter_bonuscategory_category"),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="MechanicAutoEvaluationModel",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
("created_at", models.DateTimeField(auto_now_add=True)),
|
||||
("updated_at", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"tex_passport_file",
|
||||
models.FileField(
|
||||
blank=True,
|
||||
null=True,
|
||||
upload_to="mechanic_evaluation/tech_passports/%Y/%m/",
|
||||
verbose_name="tech passport file",
|
||||
),
|
||||
),
|
||||
(
|
||||
"registration_number",
|
||||
models.CharField(blank=True, max_length=50, null=True, verbose_name="registration number"),
|
||||
),
|
||||
("contract_date", models.DateField(blank=True, null=True, verbose_name="contract date")),
|
||||
(
|
||||
"object_inspection_date",
|
||||
models.DateField(blank=True, null=True, verbose_name="object inspection date"),
|
||||
),
|
||||
("rate_date", models.DateField(blank=True, null=True, verbose_name="rate date")),
|
||||
("rate_report_date", models.DateField(blank=True, null=True, verbose_name="rate report date")),
|
||||
(
|
||||
"object_type",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("lightweight_auto", "Yengil automobil"),
|
||||
("truck_car", "Yuk automobil"),
|
||||
("special_tech", "Maxsus texnika"),
|
||||
],
|
||||
max_length=50,
|
||||
null=True,
|
||||
verbose_name="object type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"object_owner_type",
|
||||
models.IntegerField(
|
||||
blank=True,
|
||||
choices=[(1, "Jismoniy shaxs"), (2, "Yuridik shaxs")],
|
||||
null=True,
|
||||
verbose_name="object owner type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"object_owner_individual_person_f_name",
|
||||
models.CharField(blank=True, max_length=100, null=True, verbose_name="owner first name"),
|
||||
),
|
||||
(
|
||||
"object_owner_individual_person_l_name",
|
||||
models.CharField(blank=True, max_length=100, null=True, verbose_name="owner last name"),
|
||||
),
|
||||
(
|
||||
"object_owner_individual_person_p_name",
|
||||
models.CharField(blank=True, max_length=100, null=True, verbose_name="owner patronymic"),
|
||||
),
|
||||
(
|
||||
"object_owner_individual_person_passport_num",
|
||||
models.CharField(blank=True, max_length=20, null=True, verbose_name="owner passport number"),
|
||||
),
|
||||
(
|
||||
"object_owner_legal_entity",
|
||||
models.CharField(blank=True, max_length=255, null=True, verbose_name="legal entity name"),
|
||||
),
|
||||
(
|
||||
"object_owner_legal_inn",
|
||||
models.CharField(blank=True, max_length=20, null=True, verbose_name="legal entity INN"),
|
||||
),
|
||||
(
|
||||
"tex_passport_serie_num",
|
||||
models.CharField(
|
||||
blank=True, max_length=20, null=True, verbose_name="tech passport series and number"
|
||||
),
|
||||
),
|
||||
(
|
||||
"tex_passport_gived_date",
|
||||
models.DateField(blank=True, null=True, verbose_name="tech passport given date"),
|
||||
),
|
||||
(
|
||||
"tex_passport_gived_location",
|
||||
models.CharField(
|
||||
blank=True, max_length=255, null=True, verbose_name="tech passport given location"
|
||||
),
|
||||
),
|
||||
(
|
||||
"car_type",
|
||||
models.IntegerField(
|
||||
blank=True, choices=[(1, "Xetchbek"), (2, "Universal")], null=True, verbose_name="car type"
|
||||
),
|
||||
),
|
||||
(
|
||||
"car_wheel",
|
||||
models.IntegerField(blank=True, choices=[(1, "4x4")], null=True, verbose_name="car wheel"),
|
||||
),
|
||||
("car_brand", models.CharField(blank=True, max_length=100, null=True, verbose_name="car brand")),
|
||||
("car_model", models.CharField(blank=True, max_length=100, null=True, verbose_name="car model")),
|
||||
("car_number", models.CharField(blank=True, max_length=20, null=True, verbose_name="car number")),
|
||||
(
|
||||
"manufacture_year",
|
||||
models.CharField(blank=True, max_length=10, null=True, verbose_name="manufacture year"),
|
||||
),
|
||||
(
|
||||
"car_dvigatel_number",
|
||||
models.CharField(blank=True, max_length=50, null=True, verbose_name="engine number"),
|
||||
),
|
||||
("car_color", models.CharField(blank=True, max_length=50, null=True, verbose_name="car color")),
|
||||
("rating_goal", models.CharField(blank=True, max_length=50, null=True, verbose_name="rating goal")),
|
||||
(
|
||||
"status",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("yaratildi", "Yaratildi"),
|
||||
("baxolovchi_biriktirildi", "Baholovchi biriktirildi"),
|
||||
("baxolandi", "Baholandi"),
|
||||
("rad_etildi", "Rad etildi"),
|
||||
("tasdiqlandi", "Tasdiqlandi"),
|
||||
],
|
||||
default="yaratildi",
|
||||
max_length=50,
|
||||
verbose_name="status",
|
||||
),
|
||||
),
|
||||
("is_archived", models.BooleanField(default=False, verbose_name="is archived")),
|
||||
(
|
||||
"appraisers",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
related_name="mechanic_auto_evaluation_appraisers",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
verbose_name="appraisers",
|
||||
),
|
||||
),
|
||||
(
|
||||
"evaluation_request",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="mechanic_auto_evaluations_request",
|
||||
to="evaluation.evaluationrequestmodel",
|
||||
),
|
||||
),
|
||||
(
|
||||
"rate_type",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_rate_type",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="rate type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"user",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="mechanic_auto_evaluations_user",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
(
|
||||
"valuation",
|
||||
models.OneToOneField(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="mechanic_auto_detail",
|
||||
to="evaluation.valuationmodel",
|
||||
),
|
||||
),
|
||||
(
|
||||
"value_determined",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="evaluation_mechanic_auto_value_determined",
|
||||
to="evaluation.referenceitemmodel",
|
||||
verbose_name="value determined",
|
||||
),
|
||||
),
|
||||
(
|
||||
"vehicle",
|
||||
models.OneToOneField(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="mechanic_evaluation",
|
||||
to="evaluation.vehiclemodel",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Mechanic Auto Evaluation",
|
||||
"verbose_name_plural": "Mechanic Auto Evaluations",
|
||||
"db_table": "MechanicAutoEvaluation",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="MechanicAutoevaluationhistoryModel",
|
||||
fields=[
|
||||
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
|
||||
(
|
||||
"event_type",
|
||||
models.CharField(
|
||||
choices=[
|
||||
("order_created", "Buyurtma yaratildi"),
|
||||
("status_changed", "Status o'zgartirildi"),
|
||||
("evaluator_assigned", "Baholovchi biriktirildi"),
|
||||
("document_uploaded", "Hujjat yuklandi"),
|
||||
("payment_made", "To'lov qilindi"),
|
||||
],
|
||||
max_length=50,
|
||||
verbose_name="event type",
|
||||
),
|
||||
),
|
||||
("actor_id", models.BigIntegerField(blank=True, null=True, verbose_name="actor id")),
|
||||
("actor_full_name", models.CharField(default="Tizim", max_length=255, verbose_name="actor full name")),
|
||||
("actor_role", models.CharField(default="system", max_length=50, verbose_name="actor role")),
|
||||
("meta", models.JSONField(blank=True, default=dict, verbose_name="meta")),
|
||||
("created_at", models.DateTimeField(auto_now_add=True, verbose_name="created at")),
|
||||
(
|
||||
"mechanic_auto_evaluation",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="history",
|
||||
to="evaluation.mechanicautoevaluationmodel",
|
||||
verbose_name="mechanic auto evaluation",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "Mechanic Auto Evaluation History",
|
||||
"verbose_name_plural": "Mechanic Auto Evaluation Histories",
|
||||
"db_table": "MechanicAutoEvaluationHistory",
|
||||
"ordering": ["created_at"],
|
||||
"indexes": [
|
||||
models.Index(
|
||||
fields=["mechanic_auto_evaluation_id", "created_at"], name="mech_auto_hist_eval_date_idx"
|
||||
),
|
||||
models.Index(fields=["event_type"], name="mech_auto_hist_event_type_idx"),
|
||||
],
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user