这是产品数据库的模型。在模板上渲染产品时,我发现只有不同测量的产品是相同的。有没有办法将这些产品组合在一起,这样物品就不会重复。
class Product(models.Model):
product_code = models.CharField(max_length=60, null=True, blank=True)
type = models.CharField(max_length=120, null=True, blank=True)
product = models.CharField(max_length=120, null=True, blank=True)
standard = models.CharField(max_length=120, null=True, blank=True)
measurement = models.CharField(max_length=120, null=True, blank=True)
brand = models.CharField(max_length=120, null=True, blank=True)
photo = models.ImageField(upload_to='media', null=True, blank=True)
price = models.DecimalField(max_digits=100, decimal_places=3, null=True, blank=True)
class Meta:
verbose_name_plural = "Product"
ordering = ["id"]
def get_absolute_url(self):
return reverse('product')
def __unicode__(self):
return u'%s %s %s %s %s %s %s' % (self.id, self.product_code, self.type,
self.product, self.standard,
self.measurement, self.brand, self.photo, self.price)
答案 0 :(得分:0)
如果两个产品之间的唯一区别是测量,一个解决方案是将测量抽象为
一个。选项元组(例如,options = MEASUREMENTS)或
湾测量模型并将两者联系起来,例如,measurement = models.ForeignKey(...)
这实际上取决于您可能拥有的测量数量。如果只有3-5,那么元组就可以了。如果有可能的话,我认为模型会更有意义。
完成此操作后,您可以将类似产品整合到单个产品中,从而消除模板输出中的重复项。
希望有所帮助。