class Product(models.Model):
title = models.CharField(max_length=75)
class Deal(models.Model):
product = models.ForeignKey(Product)
slug = models.SlugField(max_length=255, unique=True)
基本设置与上述类似,我想要为每个交易实例生成唯一的slug,使用其交易产品的标题和交易本身的id。例如:"apple-iphone-4s-161"
,其中161
是交易的id,前面的文本是产品的标题。
为此,我该如何重写Deal模型的save()方法来应用它?
Super
方法以获取一个 id。此外,请注意 SlugField 的默认长度为 50,因此在这种情况下,您可能需要截断标题,例如self.slug = slugify(self.product.title[45]) + "-" + str(self.id)
。 - its30