Files
backend-v1/core/apps/evaluation/models/document.py
Husanjonazamov 4680581e8d ValuationDocumentModel
— bu arizaga biriktiriladigan hujjatlar va rasmlar uchun kerak
2026-02-18 17:56:51 +05:00

57 lines
1.5 KiB
Python

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.document import DocumentType
class ValuationDocumentModel(AbstractBaseModel):
valuation = models.ForeignKey(
ValuationModel,
on_delete=models.CASCADE,
related_name="documents",
verbose_name=_("valuation"),
)
document_type = models.CharField(
verbose_name=_("document type"),
max_length=50,
choices=DocumentType.choices,
default=DocumentType.OTHER,
)
title = models.CharField(
verbose_name=_("title"),
max_length=255,
blank=True,
)
file = models.FileField(
verbose_name=_("file"),
upload_to="evaluation/documents/%Y/%m/",
)
uploaded_by = models.ForeignKey(
"accounts.User",
on_delete=models.SET_NULL,
null=True,
blank=True,
related_name="uploaded_documents",
verbose_name=_("uploaded by"),
)
description = models.TextField(
verbose_name=_("description"),
blank=True,
)
def __str__(self):
return f"{self.get_document_type_display()}{self.valuation}"
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "ValuationDocument"
verbose_name = _("Valuation Document")
verbose_name_plural = _("Valuation Documents")
ordering = ["-created_at"]