我正在使用带有项目的django-autoslug包,虽然文档很简单,但我无法用slug填充数据库字段。
models.py
class Thread(models.Model):
forum = models.ForeignKey(Forum)
title = models.CharField(max_length=100)
date_created = models.DateTimeField('date created')
user = models.ForeignKey(User)
slug = AutoSlugField(populate_from='title')
我还尝试使用AutoSlugField
和常规SlugField
覆盖save()方法,但这也不起作用。
def save(self, *args, **kwargs):
self.slug = slugify(self.title)
super(Thread, self).save(*args, **kwargs)
例如,当我创建一个标题为“This should a a slug”的帖子时,我希望数据库中的“slug”字段填充“this-should-create-a-slug”。相反,它只是填充空字符串:''
有谁知道可能导致这种情况的原因?我无法使用django-autoslug包找到任何类似问题的文档,或者只是使用常规SlugField
覆盖save()方法
答案 0 :(得分:0)
重新启动计算机后,此问题已自行解决。不知道为什么它不起作用。
答案 1 :(得分:0)
当你使用“autoslug”库时,不需要创建slug (保存)功能模型。您可以从代码中删除下一行:)
self.slug = slugify(self.title)