Моя цель - обработка извлеченных данных на стороне сервера с помощью таблиц данных.
Моя проблема в том, что я не могу извлечь из базы данных часть записей (например: 50 за запрос ajax).Например, когда я даю ограничение 50 для определения количества возвращаемых результатов на страницу, после запроса paginator возвращает только 10.
Есть ли что-то, что мне не хватает, чтобы получить данные на основестраницы определенных записей?
Мой взгляд
class ProductSerialNumbersListJSon(LoginRequiredMixin,BaseDatatableView):
# my model
model = ProductSerialNumbers
columns = ['snumber' , 'order','product','registration_date']
order_columns = ['snumber','order','product','registration_date']
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")
paginator = Paginator(query_list,50) #50 items per page
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('id', flat=True)
return ProductSerialNumbers.objects.filter(pk__in=product_serials)
Мой URL
url(r'^warehouse_tabledata/(?P<page>\d+)/$',views.ProductSerialNumbersListJSon.as_view(), name='warehouse_list_json'),
Мой результат JSON
{"recordsTotal": 50, "recordsFiltered": 50, "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"}