tangym
V2EX  ›  Django

[求助]电子商城商品发布,属性表如何关联

  •  
  •   tangym · Aug 10, 2016 · 3314 views
    This topic created in 3588 days ago, the information mentioned may be changed or developed.

    想要在增加商品的时候,能够添加颜色,尺码,库存,价格等属性,我将这些属性存在 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
    
    

    求大神指导,不胜感激

    3 replies    2016-08-11 21:59:30 +08:00
    tangym
        2
    tangym  
    OP
       Aug 11, 2016
    @windedge 很好的学习范例,谢谢
    tangym
        3
    tangym  
    OP
       Aug 11, 2016
    @windedge 看的真懵逼了。。。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   894 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:19 · PVG 06:19 · LAX 15:19 · JFK 18:19
    ♥ Do have faith in what you're doing.