wagtail-longclaw/longclaw/longclawbasket/models.py

37 wiersze
988 B
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)
class Meta:
ordering = ['date_added']
def total(self):
return self.quantity * self.variant.price
def name(self):
return "{} ({})".format(self.variant.product.title, self.variant.ref)
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()