Python django paginator не отображает элементы правильно
Я разработал простое веб-приложение. Я добавил свойство paginate_by к представлению. Я могу показать только первые 10 записей, полученных из базы данных. Если я изменю свойство paginate_by на 20, я всегда вижу 10 записей на странице списка моей модели. Обратите внимание, что количество записей меняется в левом верхнем углу скриншота, но я всегда вижу 10 записей. Вот код:
views.py:
class DeviceList(LoginRequiredMixin, FilterView):
model = models.Device
filterset_class = filters.DeviceFilter
context_object_name = "devices"
paginate_by = 10
template_name = "device_list.html"
def get_context_data(self, **kwargs):
context = super(DeviceList, self).get_context_data(**kwargs)
context["hist_devices"] = (models.Device.objects.filter(history_type=0)).count()
context["active_devices"] = (
models.Device.objects.filter(history_type=1)
).count()
context["available_devices"] = (models.Device.objects.filter(status=0)).count()
context["unavailable_devices"] = (
models.Device.objects.filter(status=1)
).count()
return context
device_list.html:
url.py
from . import views
from .views import SearchResultsListView
urlpatterns = [
path("device/create", views.create_device, name="device_register"),
path("", views.DeviceList.as_view(), name="device_list"),
...
Если я использую 10 в paginate_by, то получаю следующее в счетчике объектов, 207 как общее количество страниц:
Если я использую 20 в paginate_by, то получаю следующее: в счетчике объектов 104 как общее количество страниц, но отображается только 10 записей:
Кажется, что таблица скрывает 10 из 20 строк, которые я запрашиваю. Я хотел бы увеличить список записей на одной странице, по крайней мере, до 20 строк в таблице.
Может ли кто-нибудь помочь мне? Я не знаю, как это исправить.