2012-09-29 39 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

谢谢。我尝试这个解决方案 –

相关问题