wagtail-longclaw/longclaw/basket/models.py

39 wiersze
1.0 KiB
Python

from django.db import models
from longclaw.settings import PRODUCT_VARIANT_MODEL
class BasketItem(models.Model):
basket_id = models.CharField(max_length=32)
date_added = models.DateTimeField(auto_now_add=True)
quantity = models.IntegerField(default=1)
variant = models.ForeignKey(PRODUCT_VARIANT_MODEL, unique=False, on_delete=models.PROTECT)
class Meta:
ordering = ['date_added']
def __str__(self):
return "{}x {}".format(self.quantity, self.variant)
def total(self):
return self.quantity * self.variant.price
def name(self):
return self.variant.__str__()
def price(self):
return self.variant.price
def increase_quantity(self, quantity=1):
""" Increase the quantity of this product in the basket
"""
self.quantity += quantity
self.save()
def decrease_quantity(self, quantity=1):
"""
"""
self.quantity -= quantity
if self.quantity <= 0:
self.delete()
else:
self.save()