我正在做一个项目,我想根据每个帖子的标题为每个帖子创建一个slug。有没有可能生成一个slug,使它对帖子来说是唯一的,但即使帖子的标题改变了也不会改变?我使用的是文件“model.py”中提供的模型。你能提供如何完成这个任务的指导吗?
class Post(models.Model):
username = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
description = models.CharField(('Description'),max_length=250)
title = models.CharField(('Content Title'), max_length=250)
create_date = models.DateTimeField(default = timezone.now)
image_data = models.ImageField(upload_to='User_Posts', height_field=None, width_field=None, max_length=None)
slug = (title)
def __str__(self):
return self.title
1条答案
按热度按时间fbcarpbf1#
我建议查看Django文档中的slugify,你需要重写模型的保存方法,所以你的新代码很可能是这样的:
我会记住一个独特的参数,你可以在你的slugfield中设置为true或false。