wagtail-longclaw/longclaw/longclawbasket/models.py

37 wiersze
988 B
Python
Czysty Zwykły widok Historia

2017-02-03 10:04:57 +00:00
from django.db import models
2017-02-06 08:26:02 +00:00
from longclaw.settings import PRODUCT_VARIANT_MODEL
2017-02-03 10:04:57 +00:00
class BasketItem(models.Model):
basket_id = models.CharField(max_length=32)
date_added = models.DateTimeField(auto_now_add=True)
quantity = models.IntegerField(default=1)
2017-02-03 17:28:06 +00:00
variant = models.ForeignKey(PRODUCT_VARIANT_MODEL, unique=False)
2017-02-03 10:04:57 +00:00
class Meta:
ordering = ['date_added']
def total(self):
2017-02-03 17:28:06 +00:00
return self.quantity * self.variant.price
2017-02-03 10:04:57 +00:00
def name(self):
2017-02-03 17:28:06 +00:00
return "{} ({})".format(self.variant.product.title, self.variant.ref)
2017-02-03 10:04:57 +00:00
def price(self):
2017-02-03 17:28:06 +00:00
return self.variant.price
2017-02-03 10:04:57 +00:00
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()