Django 5 для начинающих

Прогресс по курсу:  9/1004

6.2 Добавление постраничной разбивки
2 из 3 шагов пройдено
0 из 5 баллов  получено

Какие типы данных и объекты принимаются в качестве аргумента классом Paginator?

Чтобы решить это задание откройте https://stepik.org/lesson/973391/step/3

Выберите один вариант из списка

Верно решили 187 учащихся
Из всех попыток 54% верных
5 баллов за решение.

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий

def post_list(request):
    post_list = Post.published.all()
    paginator = Paginator(post_list, 3)
    ...

Странно, а по нашему коду мы передаем в класс Paginator  QuerySet и число...

@Евгений_Куликов, тест и на внимательность тоже:

Какие типы данных и объекты не принимаются в качестве аргумента классом Paginator?

@Дмитрий_Селезнев, Да уж, если на собеседовании нужно "завалить" кандидата, то такая формулировка вопроса точно подойдет )))

@Евгений_Куликов, согласен, но в программировании внимательность и умение фокусироваться на задаче является очень важными навыками.

@Илья_Перминов, вмешаюсь тут: 

очень важными навыками.

я бы добавил это нереально важные навыки в написании чего ли, одна невнимательность теряет дни времени а то и недели, конечно смотря какой проект!

@Дмитрий_Селезнев, мне кажется вы ошиблись и QuerySet Paginator принимает с остальным я согласен

поправьте меня пожалуйста, вам человек задал вопрос, с остальным я согласен но вот QuerySet 

Странно, а по нашему коду мы передаем в класс Paginator  QuerySet и число...
post_list это  QuerySet!

Класс Paginator в Django принимает в качестве аргумента объект QuerySet, который представляет набор объектов из базы данных. Он используется для разбиения этого набора объектов на страницы при пагинации.

В вашем примере Paginator(post_list, 3), post_list - это объект QuerySet, который представляет все опубликованные посты, полученные с помощью метода Post.published.all().

Это значит, что QuerySet принимается в качестве аргумента классом Paginator.

Типы данных и объекты, которые не могут быть переданы в качестве аргумента Paginator, включают в себя примитивные типы данных (например, целые числа, строки) или неквалифицированные списки, словари и т. д. Класс Paginator предназначен для работы с QuerySet из Django ORM для пагинации данных из базы данных.

Изменен No Name

@No_Name, я в том сообщении процитировал условие задачи, выделив не.

@No_Name, из официальной документации:

 Paginator.object_list¶

    Required. A list, tuple, QuerySet, or other sliceable object with a count() or __len__() method. For consistent pagination, QuerySets should be ordered, e.g. with an order_by() clause or with a default ordering on the model.

 https://docs.djangoproject.com/en/4.2/ref/paginator/#django.core.paginator.Paginator.object_list