Как мне соединить результат запроса 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)
- запуск и подсчет параметров GET (указывается экземпляру магазина через
Если ваш сервер не может выполнить эти требования (например, он звучит так, как будто у него совсем другие требования в отношении ранжирования, поскольку вместо него используются страницы), вам нужно подумать о расширении / реализации пользовательского магазина.