【问题标题】:How do I connect a django rest framework json query result to dgrid/OnDemandGrid如何将 django rest 框架 json 查询结果连接到 dgrid/OnDemandGrid
【发布时间】:2015-08-16 16:07:48
【问题描述】:

我的 JSON 存储(django rest 框架)返回“count”、“next”、“previous”和“results”的键。

“count”是可用的行数。

“next”是下一页结果的 url(例如 ids 26-50)。

“previous”是上一页结果的 url(在这种情况下为 null,因为这是结果的第一页)。

“结果”键包含我想在 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},
     ]
}

【问题讨论】:

    标签: json django rest dojo dgrid


    【解决方案1】:

    您似乎正在尝试将此服务与 dstore/Rest 一起使用,但这对服务器请求和响应有一些特定的期望:

    • 响应必须以下列方式之一报告项目列表:
      • 以顶级项目数组响应
      • 使用具有 items 属性的对象进行响应,该属性的值是项目数组
    • 响应必须以下列方式之一报告项目总数:
      • 如果响应是对象,您可以在对象中包含total 属性
      • 否则,您必须包含Content-Range 标头(格式为X-Y/Z items,其中Z 最重要)
    • 请求必须支持通过以下机制之一获知它应该请求的总结果集中的项目范围:
      • 启动并计算 GET 参数(通过 rangeStartParamrangeCountParam 指定给存储实例)
      • 范围标题(通过设置useRangeHeaders: true
      • 否则,默认情况下,存储将传递limit GET 参数,格式为limit(count,start)(如果start 为0,则仅传递limit(count)

    如果您的服务器无法满足这些要求(例如,听起来它对测距的要求完全不同,因为它使用页面代替),您将需要考虑扩展/实现自定义存储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 2019-10-19
      • 1970-01-01
      • 2013-01-17
      相关资源
      最近更新 更多