Здравствуйте всем.
Делаю в изучении django реально первые шажки. Поэтому прошу помощь.
Вывожу title для страницы категорий на которых выводятся связанные посты.
Модель
class Category(models.Model):
title = models.CharField(max_length=255, verbose_name='Название')
slug = models.SlugField(max_length=255, verbose_name='Url', unique=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('category', kwargs={'slug': self.slug})
class Post(models.Model):
title = models.CharField(max_length=255, verbose_name='Название')
slug = models.SlugField(max_length=100, verbose_name='Url', unique=True)
content = models.TextField(verbose_name='Содержание', blank=True)
photo = models.ImageField(upload_to='photos/%Y/%m/%d', verbose_name='Фото')
views = models.IntegerField(default=0, verbose_name='Кол-во просмотров')
category = models.ForeignKey(Category, on_delete=models.PROTECT, related_name='posts', verbose_name='Категория')
tags = models.ManyToManyField(Tag, blank=True, related_name='posts', verbose_name='Теги')
is_published = models.BooleanField(verbose_name='Оаубликовано', default=False)
created_at = models.DateTimeField(auto_now_add=True, verbose_name='Создано')
updated_at = models.DateTimeField(auto_now=True, verbose_name='Отредактировано')
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post', kwargs={'slug': self.slug})
views
class PostsByCategory(ListView):
template_name = 'blog/index.html'
context_object_name = 'posts'
paginate_by = 8
allow_empty = False
def get_queryset(self):
return Post.objects.filter(category__slug=self.kwargs['slug'])
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = Category.objects.filter(slug=self.kwargs['slug'])
return context
В шаблоне
{% block title %} {{ title }} {% endblock %}
Вроде как все логично, но title почему то выводится вот в таком виде
<QuerySet [<Category: Природа>]>
Почему это? Как это исправить?
Заранее благодарен за помощь.