我正在建立一个网站,其中"网页"始终位于父级"类别"中.某些页面将具有相同的标题,但将驻留在不同的类别中.目前django sluggify总是在slug中添加数字,如果名称相同:
foo/help/
bar/help-1/
Run Code Online (Sandbox Code Playgroud)
有没有办法让它输出一个更智能的slug,以便slug对于该类别中的页面是唯一的.
foo/help/
bar/help/
etc/help/
etc/help-1/
Run Code Online (Sandbox Code Playgroud)
我也想以同样的方式为用户提供一些独特的页面.它们将始终作为用户的子对象进行访问,从而使它们以这种方式独特
该slugify函数本身(django.template.defaultfilters.slugify)只所以这不是什么让你这样的结果适用于它的输入.
wrt /您的原始问题,即"是否可能为每个用户或其他模型设置一个独特的slugfield",这只是unique_together在您的模型中声明相关字段的问题Meta,即
class Category(models.Model):
# code here
class Page(models.Model):
category = models.ForeignKey(Category)
slug = models.SlugField("slug")
class Meta:
unique_together = (
("category", "slug"),
)
Run Code Online (Sandbox Code Playgroud)
然后,如果你有一些自动生成/预填充段塞字段的代码,你必须手动调整它来处理类别...
| 归档时间: |
|
| 查看次数: |
824 次 |
| 最近记录: |