如何替换Django中的models.permalink解压缩代码?
我正在读《Django电子商务入门》一书,这本书描述了如何使用Django构建一个网店。在我下面的一个代码示例中,作者正在设置一个产品模型,如下所示。在这里,他使用了一个decorator如何替换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
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的实际功能。只是快速搜索了一下。