Django пагинация в ListView вызывает ошибку "Slice"

я хочу отобразить пагинацию на моей странице, но я заметил, что когда я добавляю "paginate_by" у меня возникает ошибка "slice"

class BookNotLogged(generic.ListView):
template_name="BookNotLogged.html"
context_object_name='listofBook'
paginate_by = 2 #when i add this its raise me error
model = Book
queryset = Book.objects.all()
def get_queryset(self):
    
    
    context={
        'book1':Book.objects.get(id="2"), 
        'book2':Book.objects.get(id="3"),
        'book3':Book.objects.get(id="4"),
        'book4':Book.objects.get(id="8"),
        'book5':Book.objects.get(id="9"),
        'book6':Book.objects.get(id="10"),
        'book7':Book.objects.get(id="11"),
        'book8':Book.objects.get(id="12"),
        'book9':Book.objects.get(id="13")
        
    }
    
    
    return context

Редактировать

я обнаружил, что когда я комментирую функцию get_queryset, она работает, но мне нужна эта функция.

get_queryset используется для возврата настроенного набора запросов, а не контекста. Чтобы получить контекст, вы должны переопределить get_context_data, поэтому переименуйте get_queryset в get_context_data следующим образом:

class BookNotLogged(generic.ListView):
    # rest of code

    def get_context_data(self, **kwargs):
          context = super().get_context_data(**kwargs)
          context.update({
            'book1':Book.objects.get(id="2"), 
            'book2':Book.objects.get(id="3"),
            'book3':Book.objects.get(id="4"),
            'book4':Book.objects.get(id="8"),
            'book5':Book.objects.get(id="9"),
            'book6':Book.objects.get(id="10"),
            'book7':Book.objects.get(id="11"),
            'book8':Book.objects.get(id="12"),
            'book9':Book.objects.get(id="13"),
         })

        return context
Вернуться на верх