2013-06-28 26 views
2

我設立了一個網站,有'網頁',始終在父'類別'。一些頁面將具有相同的標題,但將駐留在不同的類別中。目前Django的sluggify總是添加號碼蛞蝓如果名稱是相同的:是可以有Django slugfield獨特的每個用戶或其他模型

foo/help/ 
bar/help-1/ 

有沒有辦法得到它的輸出更智能的蛞蝓,以使蛞蝓是分類中的頁面是唯一的。

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

我也想用同樣的方法讓用戶擁有一些獨特的頁面。它們總是作爲用戶的一個子集訪問,使它們以這種方式獨一無二

+0

這裏是鏈接:https://docs.djangoproject.com/en /2.0/ref/models/options/#unique-together。關於時間你接受布魯諾的回答我想。 – surfer190

回答

4

slugify函數本身(django.template.defaultfilters.slugify)僅適用於它的輸入,所以這不是你得到的結果。

WRT /你原來的問題,即「是否有可能讓每個用戶或其他模型中唯一的slugfield」,它只是一個模型中的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"), 
     ) 
宣佈相關領域 unique_together的事

然後,如果你有一些自動生成/預填充slug字段的代碼,你將不得不手動調整它來照顧類別...

相關問題