Files
backend/apps/geology/models/photo.py
A'zamov Samandar 0229a0595c
Some checks failed
Deploy Django Application to Server / deploy (push) Failing after 19s
Telegram Notifications / Telegram Gate (push) Failing after 5s
gealogiuya
2026-02-27 14:56:23 +05:00

67 lines
2.3 KiB
Python

from django.db import models
from django.utils.translation import gettext_lazy as _
from apps.shared.models import AbstractBaseModel
class Photo(AbstractBaseModel):
name = models.CharField(
max_length=255, blank=True, null=True, verbose_name=_("Nomi")
)
description = models.TextField(blank=True, null=True, verbose_name=_("Tavsif"))
image = models.ImageField(upload_to="media/", verbose_name=_("Fayl"))
type = models.CharField(
max_length=255, blank=True, null=True, verbose_name=_("Fayl turi")
)
size = models.BigIntegerField(
blank=True, null=True, default=0, verbose_name=_("Hajmi")
)
def save(self, *args, **kwargs):
self.type = self.image.name.split(".")[-1]
self.size = self.image.size
if self.name is None:
self.name = (
self.image.name if self.image.name is not None else f"Media {self.id}"
)
super().save(*args, **kwargs)
class Meta:
verbose_name = _("Барча кўрнишлар")
verbose_name_plural = _("Барча кўрнишлар")
ordering = ["-created_at"]
def __str__(self) -> str:
return str(self.description) if str(self.description) else f"Photo {self.id}"
class Gallery(AbstractBaseModel):
name = models.CharField(
max_length=255, blank=True, null=True, verbose_name=_("Nomi")
)
description = models.TextField(blank=True, null=True, verbose_name=_("Tavsif"))
image = models.ImageField(upload_to="media/", verbose_name=_("Fayl"))
type = models.CharField(
max_length=255, blank=True, null=True, verbose_name=_("Fayl turi")
)
size = models.BigIntegerField(
blank=True, null=True, default=0, verbose_name=_("Hajmi")
)
def save(self, *args, **kwargs):
self.type = self.image.name.split(".")[-1]
self.size = self.image.size
if self.name is None:
self.name = (
self.image.name if self.image.name is not None else f"Media {self.id}"
)
super().save(*args, **kwargs)
class Meta:
verbose_name = _("Galereya")
verbose_name_plural = _("Galereya")
ordering = ["-created_at"]
def __str__(self) -> str:
return str(self.description) if str(self.description) else f"Gallery {self.id}"