Использование django-taggit в поисковом фильтре - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь сделать так, чтобы при поиске поста он фильтровал по тегам в модели.Кстати, я использую Django-Taggit.

Например, если я ищу «яблоко».Я хочу, чтобы все сообщения с тегом apple отображались при поиске.

Несколько способов, которые я до сих пор пробовал, это ... 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
...