movable-model qoshildi bu (Ko'char mulk) modeli to'liq va optimallashgan holda tayyor!

This commit is contained in:
Husanjonazamov
2026-02-13 17:57:56 +05:00
parent 7d975a0acc
commit 2cb094cbd3
27 changed files with 349 additions and 2 deletions

View File

@@ -1,7 +1,8 @@
from .auto import * # noqa
from .real_estate import * # noqa
from .customer import * # noqa
from .movable import * # noqa
from .real_estate import * # noqa
from .movable import * # noqa
from .valuation import * # noqa
from .vehicle import * # noqa

View File

@@ -0,0 +1,54 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from django_core.models import AbstractBaseModel
from model_bakery import baker
from .valuation import ValuationModel
from core.apps.evaluation.choices.movable import (
MovablePropertyCategory,
MovablePropertyCondition,
)
class MovablePropertyEvaluationModel(AbstractBaseModel):
valuation = models.OneToOneField(
ValuationModel,
on_delete=models.CASCADE,
related_name="movable_property_detail",
verbose_name=_("valuation"),
)
property_name = models.CharField(verbose_name=_("property name"), max_length=255)
property_category = models.CharField(
verbose_name=_("property category"),
max_length=50,
choices=MovablePropertyCategory.choices,
default=MovablePropertyCategory.OTHER,
)
serial_number = models.CharField(
verbose_name=_("serial number"), max_length=100, blank=True, null=True
)
manufacture_year = models.IntegerField(
verbose_name=_("manufacture year"), blank=True, null=True
)
condition = models.CharField(
verbose_name=_("condition"),
max_length=50,
choices=MovablePropertyCondition.choices,
blank=True,
null=True,
)
quantity = models.IntegerField(verbose_name=_("quantity"), default=1)
def __str__(self):
return f"Movable Property Evaluation: {self.property_name} ({self.valuation})"
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "MovablePropertyEvaluation"
verbose_name = _("Movable Property Evaluation")
verbose_name_plural = _("Movable Property Evaluations")