gpt4 book ai didi

django - 是否可以让每个用户或其他模型的 Django slugfield 是唯一的

转载 作者:行者123 更新时间:2023-12-04 00:42:32 26 4
gpt4 key购买 nike

我正在设置一个网站,其中的“页面”始终位于父“类别”中。一些页面将具有相同的标题,但将位于不同的类别中。目前,如果名称相同,django sluggify 总是向 slugs 添加数字:

 foo/help/
bar/help-1/

有没有办法让它输出更智能的 slug,以便该 slug 对于类别中的页面是唯一的。

foo/help/
bar/help/
etc/help/
etc/help-1/

我也在考虑以同样的方式为用户设计一些独特的页面。他们将始终作为用户的子访问,从而使他们以这种方式独一无二

最佳答案

slugify 函数本身 (django.template.defaultfilters.slugify) 只对它的输入有效,所以这不是你得到这样结果的原因。

wrt/你原来的问题,即“是否有可能让每个用户或其他模型都有一个唯一的 slugfield”,这只是在模型的 中将相关字段声明为 unique_together 的问题元,即

class Category(models.Model):
# code here

class Page(models.Model):
category = models.ForeignKey(Category)
slug = models.SlugField("slug")

class Meta:
unique_together = (
("category", "slug"),
)

然后,如果您有一些自动生成/预填充 slug 字段的代码,您将不得不手动调整它以处理类别...

关于django - 是否可以让每个用户或其他模型的 Django slugfield 是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17360384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com