如何替换Django中的models.permalink解压缩代码?

如何替换Django中的models.permalink解压缩代码?,django,django-models,django-urls,Django,Django Models,Django Urls,我正在读《Django电子商务入门》一书,这本书描述了如何使用Django构建一个网店。在我下面的一个代码示例中,作者正在设置一个产品模型,如下所示。在这里,他使用了一个decoratormodels.permalink,后跟get\u absolute\u url。从文档中,我了解了models.permalink。我应该如何使下面的代码适应当前的Django 3.1.3版本?还有谁能给我解释一下permalink到底是做什么的?特别是什么 @models.permalink def

我正在读《Django电子商务入门》一书,这本书描述了如何使用Django构建一个网店。在我下面的一个代码示例中,作者正在设置一个产品模型,如下所示。在这里,他使用了一个decorator
models.permalink
,后跟
get\u absolute\u url
。从文档中,我了解了models.permalink。我应该如何使下面的代码适应当前的Django 3.1.3版本?还有谁能给我解释一下permalink到底是做什么的?特别是什么

@models.permalink
    def get_absolute_url(self):
        return ("catalog_product", (), {'product_slug' : self.slug})
打算做什么

from django.db import models
from django.db.models.fields.related import create_many_to_many_intermediary_model

class Product(models.Model):
    name = models.CharField(max_length = 50, unique=True)
    description = models.TextField()
    allergic_note = models.CharField(max_length = 255)
    quantity = models.IntegerField(null = True, blank = True) #Used for campaign products to show how many items there is left
    price = models.DecimalField(max_digits=9, decimal_places=0, default=0.00)
    is_active = models.BooleanField(default = True)
    is_deliverable = models.BooleanField(default = True) 
    image_path = models.CharField(max_length = 255)
    meta_keywords = models.CharField(max_length=255, help_text="comma delimited keywords text for SEO")
    meta_description = models.CharField(max_length=255, help_text="SEO description content")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    slug = models.SlugField(max_length=255, unique = True,
    help_text="Unique text for url created from name")
    is_featured = models.BooleanField(default = False)
    is_bestseller = models.BooleanField(default=False)

    class Meta:
        db_table = 'products'
        ordering = ['-created_at']
    
    def __unicode__(self):
        return self.name
    
    @models.permalink
    def get_absolute_url(self):
        return ("catalog_product", (), {'product_slug' : self.slug})

问一个问题很好。这毕竟是一个问答网站。但是,我鼓励你去寻找答案。例如,它可能会帮助您了解models.permalink的实际功能。只是快速搜索了一下。