我正在使用django-taggit。我希望所有标签都是小写的,也为标签号设置一个范围(比如介于1和5之间,就像stackoverflow一样)。有没有办法用django-taggit轻松完成?谢谢!
答案 0 :(得分:3)
您可能想查看此分支。 https://github.com/shacker/django-taggit它有一个FORCE_LOWERCASE设置。
答案 1 :(得分: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)
您还可以在保存方法中强制执行标记号的范围限制。
答案 2 :(得分:2)
旧问题,但现在有以下设置来处理不区分大小写的标记:
TAGGIT_CASE_INSENSITIVE = True