在搜索过滤器中使用django-taggit

时间:2019-04-09 21:42:56

标签: python django search django-queryset

我正在尝试做到这一点,因此当我搜索帖子时,它会根据模型中的标签进行过滤。顺便说一下,我正在使用Django-Taggit。

例如,如果我搜索“苹果”。我希望在搜索时出现所有带有标签苹果的帖子。

到目前为止,我尝试过的几种方法是... Post.objects.filter(tags__name__in=[""])Post.objects.filter(tags__post__icontains=tagquery)

这些都不返回任何东西,因此将不胜感激。

型号:

class Post(models.Model):
    title = models.CharField(max_length=200)
    live = models.BooleanField(default=False)
    tags = TaggableManager()
    slug = models.SlugField(unique=True, blank=True, null=True, default='', max_length=256)

观看次数:

class SearchListView(ListView):
    model = Post
    template_name = "public/search.html"

    def get_queryset(self):
       queryset = super().get_queryset().filter(live=True)
    #    query = self.request.GET.get("q")
    #    if query:
    #     queryset = queryset.filter(title__icontains=query)

       tagquery = self.request.GET.get("tag")
       if tagquery:
        queryset = queryset.filter(tags__post__icontains=tagquery)
       return queryset

0 个答案:

没有答案