Python Django ошибка unhashable type slice при попытке постраничного представления списка 'Category' на основе класса
Я пытаюсь создать страницу Category
, которая отфильтровывает сообщения по их категории, все хорошо, пока я не пытаюсь добавить опцию pagination
к ее классу в views.py
. Вот ошибка:
Вот что у меня есть в views.py
:
class CatListView(ListView):
template_name = 'academy/category.html'
context_object_name = 'catlist'
paginate_by = 2
def get_queryset(self):
content = {
'cat': self.kwargs['category'],
'posts': ContentPost.objects.filter(category__name=self.kwargs['category'])
}
return content
def category_list(request):
category = Category.objects.exclude(name='default')
context = {
'category' : category,
}
return context
и вот что я имею в urls.py
:
path('academy/category/<category>/', CatListView.as_view(),name='academy-category'),
Заранее благодарен за помощь... Спасибо
Согласно документации Django, когда вы используете метод get_queryset, он должен возвращать Queryset, который будет использоваться для получения объекта, который будет отображаться этим представлением. https://docs.djangoproject.com/en/4.0/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.get_queryset
запрос неправильный, вы должны указать, что вы хотите от имени фильтра, например, добавить __icontains или __contains
def get_queryset(self):
return ContentPost.objects.filter(category__name__icontains=self.kwargs['category'])