feat: added categories

This commit is contained in:
2024-12-31 11:19:28 +01:00
parent eae54d5198
commit 3de6bbcc29
16 changed files with 166 additions and 36 deletions
+25 -1
View File
@@ -35,6 +35,27 @@ class Tag(models.Model):
ordering = ("name",)
class ProductCategory(models.Model):
name = models.CharField(max_length=32)
parent = models.ForeignKey('shop.ProductCategory', on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('categoría padre'))
promoted = models.BooleanField(default=False, verbose_name=_('promocionada'))
hidden = models.BooleanField(default=False, verbose_name=_('oculta'))
show_in_navbar = models.BooleanField(default=False, verbose_name=_('mostrar en cabecera'))
slug = models.SlugField(max_length=48, blank=True, default="", verbose_name=_("slug"), unique=True, db_index=True)
def __str__(self):
return self.name
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
super().save()
class Meta:
verbose_name = _("categoría")
verbose_name_plural = _("categorías")
ordering = ("name",)
class Product(TimestampedModel):
sku = models.CharField(
max_length=64,
@@ -68,6 +89,7 @@ class Product(TimestampedModel):
"files.FileUpload", blank=True, verbose_name=_("imágenes")
)
tags = models.ManyToManyField("shop.Tag", blank=True, verbose_name=_("etiquetas"))
categories = models.ManyToManyField("shop.ProductCategory", blank=True, verbose_name=_("categorías"))
brand = models.ForeignKey(
"shop.Brand",
blank=True,
@@ -415,7 +437,9 @@ class CustomerAddress(models.Model):
BILLING = "BILL", _("facturación")
SHIPPING = "SHIP", _("envío")
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, verbose_name=_("usuario"))
user = models.ForeignKey(
User, on_delete=models.CASCADE, null=True, verbose_name=_("usuario")
)
vat_id = models.CharField(
max_length=16,
blank=True,