Фильтр тегов в классе представления Django
Помогите добить изменения в классе-представления для фильтрации тегов. Использую django-taggit
Модель:
class Blog(models.Model):
"""Таблица блога"""
title = models.CharField(max_length=50, verbose_name='Название задачи')
slug = models.SlugField(max_length=50, unique=True, db_index=True, verbose_name='slug_url')
instructions = models.TextField(verbose_name='Инструкция к задаче')
content = models.TextField(verbose_name='Содержание')
time_create = models.DateTimeField(auto_now_add=True, verbose_name='Дата создания')
time_update = models.DateTimeField(auto_now=True, verbose_name='Дата изменения')
is_published = models.BooleanField(default=True, verbose_name='Публикация')
memes = models.ImageField(upload_to='photos/%Y/%m/%d', verbose_name='Мем', null=True)
tags = TaggableManager()
def __str__(self):
return self.title
Шаблон:
<form action="{% url 'blog' %}" method="get">
Теги:
{% for tag in post.tags.all %}
<input type="checkbox" name="tag" value="{{ tag.name }}">{{ tag.name }}
{% endfor %}
<button type="submit">Найти</button>
</form>
Контроллер:
class BlogPage(ListView):
'''класс представления всех страниц блога'''
paginate_by = 3
model = Blog
template_name = 'private_site/blog.html'
context_object_name = 'posts'
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
context["title"] = "Блог"
comments = Comment.objects.all()
context['comments'] = comments
return context
def get_queryset(self):
tag_query = self.request.GET.get('tag')
if tag_query:
return Blog.objects.filter(___________)
else:
return Blog.objects.filter(is_published=True)
Помогите отфильтровать по get запросу. Если прописать: return Blog.objects.filter(tags__in=[tag_query]) падает с Field 'id' expected a number but got 'ну а тут название тега'.