Ошибка с разбивкой на страницы точного количества записей, поскольку json приводит к django
Моя проблема в том, что мой возвращаемый json не является ожидающим, основываясь на пределе, которое я дал своему пагинатору.
Например, когда я даю предел 11 для определения количества возвращаемых результатов на страницу, после запроса paginator возвращает только 10.
Это происходит, когда я запрашиваю записи выше 10. Ниже 10 результат json верный.
мой взгляд
class ProductSerialNumbersListJSon(LoginRequiredMixin,BaseDatatableView):
# my model
model = ProductSerialNumbers
columns = ['snumber' , 'order_id','product','registration_date']
order_columns = ['snumber','order_id','product','registration_date']
paginate_by = 11
def get_initial_queryset(self):
#fetch the query list from db
query_list=ProductSerialNumbers.objects.filter(Q(snumber__isnull=True)|Q(order_id__isnull=True)|Q (order_id__finished=0)).order_by("id")
#declare the Paginator
paginator = Paginator(query_list,self.paginate_by) # 11 items per page
#getting the page number from the kwargs of the url
page=int(self.kwargs['page'])
try:
result = paginator.page(page)
except PageNotAnInteger:
result = paginator.page(1)
except EmptyPage:
result = paginator.page(paginator.num_pages)
product_serials = result.object_list.all().values_list('pk', flat=True)
result=ProductSerialNumbers.objects.filter(pk__in=list(product_serials))
return ProductSerialNumbers.objects.filter(pk__in=list(product_serials))
мой результат JSON
{"recordsTotal": 11, "recordsFiltered": 11, "draw": 0, "data": [["3", "", "test_proion", "2019-01-16"], ["55", "", "test_proion", "2019-01-16"], ["56", "", "test_proion", "2019-01-16"], ["57", "", "test_proion", "2019-01-16"], ["58", "", "test_proion", "2019-01-16"], ["59", "", "test_proion", "2019-01-16"], ["60", "", "test_proion", "2019-01-16"], ["61", "", "test_proion", "2019-01-16"], ["62", "", "test_proion", "2019-01-16"], ["63", "", "test_proion", "2019-01-16"]], "result": "ok"}
Несмотря на то что переменные recordsTotal и recordsFiltered возвращают оба значения 11, фактический json возвращает 10 записей.
Почему это происходит;