categorylanri import qilish qoshildi

This commit is contained in:
Husanjonazamov
2026-03-25 19:24:42 +05:00
commit 1c4155299d
206 changed files with 8106 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
from .category import * # noqa
from .products import * # noqa

View File

@@ -0,0 +1,67 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from django_core.models import AbstractBaseModel
from model_bakery import baker
class FilialModel(AbstractBaseModel):
name = models.CharField(verbose_name=_("name"), max_length=255)
def __str__(self):
return self.name
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "filial"
verbose_name = _("FilialModel")
verbose_name_plural = _("FilialModels")
class CategoryModel(AbstractBaseModel):
filial = models.ForeignKey(
FilialModel,
verbose_name=_("filial"),
related_name="categories",
on_delete=models.CASCADE,
null=True,
blank=True,
)
name = models.CharField(verbose_name=_("name"), max_length=255)
image = models.ImageField(verbose_name=_("image"), upload_to="categories/", null=True, blank=True)
def __str__(self):
return self.name
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "category"
verbose_name = _("CategoryModel")
verbose_name_plural = _("CategoryModels")
class SubcategoryModel(AbstractBaseModel):
category = models.ForeignKey(
CategoryModel,
verbose_name=_("category"),
related_name="subcategories",
on_delete=models.CASCADE,
)
name = models.CharField(verbose_name=_("name"), max_length=255)
def __str__(self):
return self.name
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "subcategory"
verbose_name = _("SubcategoryModel")
verbose_name_plural = _("SubcategoryModels")

View File

@@ -0,0 +1,55 @@
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 core.apps.api.models.category import SubcategoryModel
class ProductsModel(AbstractBaseModel):
name = models.CharField(verbose_name=_("name"), max_length=255)
price = models.DecimalField(verbose_name=_("price"), max_digits=10, decimal_places=2, default=0.0)
image = models.ImageField(verbose_name=_("image"), upload_to="products/", null=True, blank=True)
subcategory = models.ForeignKey(
SubcategoryModel,
verbose_name=_("subcategory"),
related_name="products",
on_delete=models.CASCADE,
)
def __str__(self):
return self.name
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "products"
verbose_name = _("ProductsModel")
verbose_name_plural = _("ProductsModels")
class SubProductModel(AbstractBaseModel):
product = models.ForeignKey(
ProductsModel,
verbose_name=_("product"),
related_name="subproducts",
on_delete=models.CASCADE,
)
name = models.CharField(verbose_name=_("name"), max_length=255)
price = models.DecimalField(verbose_name=_("price"), max_digits=10, decimal_places=2, default=0.0)
image = models.ImageField(verbose_name=_("image"), upload_to="subproducts/", null=True, blank=True)
def __str__(self):
return f"{self.product.name} - {self.name}"
@classmethod
def _baker(cls):
return baker.make(cls)
class Meta:
db_table = "subproduct"
verbose_name = _("SubProductModel")
verbose_name_plural = _("SubProductModels")