Как мне соединить результат запроса json фреймворка django с dgrid/OnDemandGrid

Мой JSON-магазин (django rest framework) возвращает ключи для "count", "next", "previous" и "results".

"count" - это количество доступных строк.

"next" - это URL следующей страницы результатов (например, идентификаторы 26-50).

"предыдущий" - это URL-адрес предыдущей страницы результатов (в данном случае ноль, поскольку это первая страница результатов).

Ключ "results" содержит фактические объекты данных, которые я хотел бы отобразить в OnDemandGrid.

Как подключить сбор данных "результатов" к сетке? Спасибо за вашу помощь заранее.

Возвращенный JSON ( collection: new Rest({target: '/api/events'? Format=json'),})) выглядит следующим образом:

{
    "count":1411,
    "next":"http://localhost/api/events/?format=json&page=2",
    "previous":null,
    "results": [
            {"id":1,"event_type":"02","event_at":"2015-03-31T12:53:41Z","machine_id":1,"revs":4342,"color":5,"heads_info":"using http","tag":1,"hidden":false},
            {"id":2,"event_type":"02","event_at":"2015-03-31T12:53:41Z","machine_id":1,"revs":4342,"color":5,"heads_info":"using http","tag":1,"hidden":false},
            ...
            {"id":25,"event_type":"02","event_at":"2015-03-31T12:54:01Z","machine_id":1,"revs":4342,"color":5,"heads_info":"using http","tag":1,"hidden":false},
     ]
}

1 ответ

Похоже, вы пытаетесь использовать этот сервис с dstore/Rest, но у этого есть некоторые определенные ожидания запроса и ответа сервера:

  • Ответ должен сообщить список элементов одним из следующих способов:
    • Ответить с массивом элементов верхнего уровня
    • Ответить с объектом с items свойство, значением которого является массив элементов
  • В ответе должно быть указано общее количество элементов одним из следующих способов:
    • Если ответ является объектом, вы можете включить total недвижимость в объекте
    • В противном случае вы должны включить Content-Range заголовок (в формате X-Y/Z items, где Z имеет первостепенное значение)
  • Запрос должен поддерживать информирование о диапазоне элементов, которые он должен запрашивать из общего набора результатов, с помощью одного из следующих механизмов:
    • запуск и подсчет параметров GET (указывается экземпляру магазина через rangeStartParam а также rangeCountParam)
    • Заголовки диапазона (путем установки useRangeHeaders: true)
    • В противном случае, по умолчанию, магазин пройдет limit ПОЛУЧИТЬ параметр в формате limit(count,start) (или просто limit(count) если start это 0)

Если ваш сервер не может выполнить эти требования (например, он звучит так, как будто у него совсем другие требования в отношении ранжирования, поскольку вместо него используются страницы), вам нужно подумать о расширении / реализации пользовательского магазина.

Другие вопросы по тегам