想要在增加商品的时候,能够添加颜色,尺码,库存,价格等属性,我将这些属性存在 stock 表中, stock 表通过外键商品 id 来关联 stock 表中多条数属性数据。 这样我好比一件衣服,就可以定义多个颜色,以及对应尺码库存价格等多条数据存储在 stock 表中。
products 商品表:(markdown语法显示不正常,可以自行拷贝到md文件中预览)
| id | 名称 | 正文描述 | 类目 | 品牌 | 状态 |
|---|-------|------------|------|-------|-------|
| 1 | 圣罗 | 今夏火爆 | 上装 | slp | 销售中|
stock 属性表:
| id | products_id | 颜色 | 尺码 | 库存 | 零售价 | 代理价 | 促销价 |
|-----|---------------|-------|-------|--------|---------|-------------|-----------|
| 1 | 1 | 蓝 | s | 5 | 100 | 80 | 90 |
| 2 | 1 | 蓝 | m | 3 | 98 | 78 | 88 |
| 3 | 1 | 白 | s | 2 | 90 | 80 | 85 |
那么在 model.py 中如何写代码表示这种关系呢,并且在增加商品时,可以出现 stock 表中属性,可以填写。 我是这样写的,但我知道不对。。。。。
class products(models.Model):
product_name=models.CharField(max_length=200)
product_description=models.TextField()
product_category=models.ForeignKey(categories)
product_band=models.ForeignKey(bands)
product_status=models.ForeignKey(status)
product_attribute=models.ManyToManyField(stock,related_name='product_id')
product_photo=models.ImageField(null=True,blank=True)
def __str__(self):
return self.product_name
def __unicode__(self):
return self.product_name
class stock(models.Model):
product_id=models.ForeignKey(products)
product_color=models.CharField(max_length=50)
product_size=models.CharField(max_length=10)
product_amount=models.IntegerField()
product_price=models.FloatField()
product_vip1price=models.FloatField()
product_vip2price=models.FloatField()
product_agent1price=models.FloatField()
product_agent2price=models.FloatField()
product_agent3price=models.FloatField()
def __str__(self):
return self.id
def __unicode__(self):
return self.id
求大神指导,不胜感激
1
windedge 2016-08-11 16:28:28 +08:00 1
|