我正在第一个商务网站上工作。我有多种选择完全不同的产品(型号,颜色,质量等),所以我希望我的每种产品都有不同的选择。我很困惑应该在产品模型中添加哪种字段。以及如何设法为每个产品添加选择。非常感谢
Config changes=20000480 {1.0 ?mcc?mnc [en_US] ldltr sw411dp w411dp h748dp 560dpi
答案 0 :(得分:1)
模型字段不应被认为是动态的,因为它们与数据库直接相关,因此它们并不是为此而设计的。我会尝试将Product创建为抽象模型,并将其扩展到每种类型的商品(例如鞋,包,衣服等)。抽象模型为您提供了创建其他模型的弹性,最重要的是,您的基本抽象类不是 strong>作为数据库中的表创建,因此您不必理会基本的Product字段。这是一个示例models.py
:
class Product(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
price = models.DecimalField(max_digits=5,decimal_places=2)
category = models.ForeignKey('Category', null=True, blank=True,on_delete=models.DO_NOTHING)
slug = models.SlugField(default='hello')
image = models.ImageField(null=True, blank=True)
available = models.BooleanField(default=True)
class Meta:
abstract = True
class Shoe(Product):
colors = models.CharField()
size = models.IntegerField()
class Clothes(Product):
colors = models.CharField()
size = models.CharField()
clothes_type = models.CharField()
# etc.