2011-05-26 25 views

回答

3

你可能想看看這個分支。 https://github.com/shacker/django-taggit它有一個FORCE_LOWERCASE設置。

+0

它僅在Django的taggit == 0.9.4工作,所以,如果你安裝它,它工作得很好。我第一次安裝easy_install並獲得(版本=(0,10,0,'alpha',1)),它沒有TAGGIT_FORCE_LOWERCASE =真 TAGGIT_STOPWORDS = [u'a',u'an',u'和',u'be',u'從',u''']選項。 git clone https://github.com/shacker/django-taggit.git給我0.9.4版本。 – derevo 2013-08-29 15:54:26

2

用django-taggit做起來很簡單。子類TagBase並在save方法中強制使用小寫約束。其餘的是鍋爐點,所以TaggableManager可以使用你的子類。

class LowerCaseTag(TagBase): 
    def save(self, *args, **kwargs): 
     self.name = self.name.lower() 
     super(LowerCaseTag, self).save(*args, **kwargs) 

class LowerCaseTaggedItem(GenericTaggedItemBase): 
    tag = models.ForeignKey(LowerCaseTag, related_name="tagged_items") 

class YourModel(models.Model): 
    tags = TaggableManager(through=LowerCaseTaggedItem) 

您還可以對save方法中的標籤號執行範圍限制。

2

老問題,但現在有以下設置來對付不區分大小寫標籤:

TAGGIT_CASE_INSENSITIVE = True 
+0

我應該把那條線放在哪裏? – SMahdiS 2017-01-17 18:17:22

+0

@SMahdiS在你的Django設置文件中(例如'/ settings/base.py') – marcanuy 2017-01-17 20:23:05

+0

我真的沒有找到那個文件。我應該在哪裏尋找它?我在Pycharm 2016中使用python 2.7.3。你是不是指Django項目中的settings.py?請給我一個鏈接的更多信息。 – SMahdiS 2017-01-18 05:32:22

相關問題