我正在使用 django-taggit。我想让所有标签都小写,还设置标签号的范围(比如在 1 到 5 之间,就像 stackoverflow 一样)。有什么方法可以用 django-taggit 轻松完成吗?谢谢!
问问题
1528 次
3 回答
3
你可能想看看这个分支。https://github.com/shacker/django-taggit它有一个 FORCE_LOWERCASE 设置。
于 2011-05-26T20:28:35.177 回答
3
使用 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 方法中强制执行标签编号的范围限制。
于 2011-08-20T08:16:10.723 回答
3
老问题,但现在有以下设置来处理不区分大小写的标签:
TAGGIT_CASE_INSENSITIVE = True
如果您希望 django-taggit 在查找现有标签时不区分大小写,则必须将 TAGGIT_CASE_INSENSITIVE 设置设置为 True(默认为 False):
TAGGIT_CASE_INSENSITIVE = 真
来源:https ://django-taggit.readthedocs.io/en/latest/getting_started.html
于 2016-01-08T21:28:44.040 回答