gealogiuya
Some checks failed
Deploy Django Application to Server / deploy (push) Failing after 19s
Telegram Notifications / Telegram Gate (push) Failing after 5s

This commit is contained in:
2026-02-27 14:56:23 +05:00
commit 0229a0595c
118 changed files with 33948 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
from .category import * # noqa
from .gallery import * # noqa
from .geology import * # noqa
from .photo import * # noqa

View File

@@ -0,0 +1,16 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from apps.shared.models import AbstractBaseModel
class Category(AbstractBaseModel):
name = models.CharField(max_length=255, verbose_name=_("Nomi"))
class Meta:
verbose_name = _("Kategoriya")
verbose_name_plural = _("Kategoriyalar")
ordering = ["-created_at"]
def __str__(self) -> str:
return self.name

View File

@@ -0,0 +1,20 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from apps.shared.models import AbstractBaseModel
class GalleryCategory(AbstractBaseModel):
name = models.CharField(max_length=255, verbose_name=_("Nomi"))
count = models.BigIntegerField(default=0, verbose_name=_("Soni"))
gallery = models.ManyToManyField(
"Gallery", related_name="gallery_category", verbose_name=_("Galereya")
)
class Meta:
verbose_name = _("Galereya kategoriya")
verbose_name_plural = _("Galereya kategoriyalar")
ordering = ["-created_at"]
def __str__(self) -> str:
return self.name

View File

@@ -0,0 +1,47 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from apps.shared.models import AbstractBaseModel
class Geology(AbstractBaseModel):
category = models.ForeignKey(
"Category",
on_delete=models.CASCADE,
related_name="cultures",
verbose_name=_("Kategoriya"),
)
banner_title = models.CharField(
max_length=255, verbose_name=_("Banner sarlavhasi"), null=True, blank=True
)
banner = models.ImageField(
upload_to="banners/", verbose_name=_("Banner"), null=True, blank=True
)
name = models.CharField(max_length=255, verbose_name=_("Тог жинси номи"))
title = models.CharField(max_length=255, verbose_name=_("Тог жинсининг геологик раками"))
body1 = models.TextField(verbose_name=_("Тог жинсининг макроскопик таснифи"), null=True, blank=True)
address = models.CharField(max_length=255, verbose_name=_("Олинган жойи"), null=True, blank=True)
image = models.ImageField(upload_to="images/", verbose_name=_("Олинган жойи сурати"), null=True, blank=True)
location = models.CharField(max_length=255, verbose_name=_("Кординаталар"), null=True, blank=True)
composition = models.TextField(verbose_name=_("Тог жинсининг кимёвий таркиби (%)"), null=True, blank=True)
isp = models.TextField(verbose_name=_("Тоғ жинсининг ISP - масс-спектрометрик тахлил натижаси (г/т)"), null=True,
blank=True)
analysis = models.TextField(
verbose_name=_("Тоғ жинсининг спектрал тахлил натижаси (%)"), null=True, blank=True
)
body2 = models.TextField(verbose_name=_("Тоғ жинсининг шаффоф шлифда кўриниши"), null=True, blank=True)
photos1 = models.ManyToManyField(
"Photo", verbose_name=_("Барча кўрнишлар"), related_name="geology_photos1", blank=True
)
body3 = models.TextField(verbose_name=_("Тоғ жинсининг аншлифда кўриниши"), null=True, blank=True)
photos2 = models.ManyToManyField(
"Photo", verbose_name=_("Барча кўрнишлар"), related_name="geology_photos2", blank=True
)
class Meta:
verbose_name = _("Madan")
verbose_name_plural = _("Madanlar")
ordering = ["-created_at"]
def __str__(self) -> str:
return self.name

View File

@@ -0,0 +1,66 @@
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}"