feat: cart

This commit is contained in:
2024-11-27 17:07:03 +01:00
parent f1b25b1fdf
commit fa1d904db5
15 changed files with 448 additions and 109 deletions
+39
View File
@@ -6,6 +6,10 @@ from django.utils import timezone
from django.utils.text import gettext_lazy as _
from django.utils.text import slugify
from django.contrib.auth import get_user_model
User = get_user_model()
class TimestampedModel(models.Model):
creation_date = models.DateTimeField(
@@ -398,3 +402,38 @@ class Order(TimestampedModel):
class Meta:
verbose_name = _("pedido")
verbose_name_plural = _("pedidos")
class Cart(models.Model):
uuid = models.UUIDField(default=uuid4, primary_key=True, verbose_name=_("uuid"))
user = models.ForeignKey(
User,
on_delete=models.CASCADE,
verbose_name=_("usuario"),
blank=True,
null=True,
)
creation_date = models.DateTimeField(
auto_now_add=True, verbose_name=_("fecha de creación")
)
class Meta:
verbose_name = _("carrito")
verbose_name_plural = _("carritos")
class CartItem(models.Model):
cart = models.ForeignKey(
"shop.Cart",
on_delete=models.CASCADE,
related_name="items",
verbose_name=_("carrito"),
)
product = models.ForeignKey(
"shop.Product", on_delete=models.CASCADE, verbose_name=_("producto")
)
quantity = models.PositiveIntegerField(default=1, verbose_name=_("cantidad"))
class Meta:
verbose_name = _("línea de carrito")
verbose_name_plural = _("líneas de carrito")