2012-09-29 40 views
0

我正在開發一個非常非常非常基礎的電子商務項目。如何設計購物籃中和產品的數量?

如何設計購物籃中和產品的數量?

class Category(models.Model): 
    name = models.CharField(max_length=50) 
    slug = models.SlugField() 
    desc = models.TextField(blank=True) 
    img = ImageField(upload_to='images/category') 

class Product(models.Model): 
    name = models.CharField(max_length=50) 
    slug = models.SlugField() 
    unit_price = models.DecimalField(max_digits=5, decimal_places=2) 
    desc = models.TextField() 
    image = ImageField(upload_to='images') 
    category = models.ManyToManyField(Category) 


class Basket(models.Model): 
    owner = models.ForeignKey(User, related_name='user_basket', verbose_name='Owner') 
    name = models.CharField("Basket_name", max_length=30) 
    products = models.ManyToManyField('Product', blank=True, null=True) 

什麼是能夠選擇產品數量的最佳方式?

回答

2

您可以爲BasketItem添加一個模型,該模型包含一個Product的外鍵和一個數量,然後在Basket中使用該模型。

E.g:

class BasketItem(models.Model): 
    product = models.ForeignKey('Product') 
    quantity = models.IntegerField() 

class Basket(models.Model): 
    ... 
    products = models.ManyToManyField('BasketItem', blank=True, null=True) 
+1

是的,中間模型應該這樣做。請參閱:https://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships –

+0

謝謝。我嘗試這個解決方案 –

相關問題