kopia lustrzana https://github.com/longclawshop/longclaw
37 wiersze
988 B
Python
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()
|
||
|
|