任何人都可以帮忙解决这个问题,我有一个这样的模型:
class Searchpage(models.Model):
slug = models.SlugField(max_length=255, unique=True)
keywords = models.CharField(max_length=255, blank=True, null=True)
“关键字”是逗号sep。列表ex。 “foo,foobar,foo bar”
现在我想创建一个与单词...
匹配的过滤器Searchpage.objects.filter(keywords__contains="foo")
匹配正确
Searchpage.objects.filter(keywords__contains="bar")
匹配,但不正确...只有整个单词..
我希望它有意义! ;)
答案 0 :(得分:1)
我可能会使用额外的模型和M2M关系来过滤关键字。还有专门的包,如django-taggit。
但您也可以使用正则表达式过滤器:
Searchpage.objects.filter(keyword__regex=r'\bbar\b')
(尚未对此进行测试,但我认为它应该可行)