任何想法为什么投影将在资源层面而不是在项目上工作?

时间:2016-11-25 17:13:30

标签: python eve

我有一个奇怪的问题:

点击/api/calculations我会得到一个包含所有属性的计算项列表,除了 postcard属性(这是我预期的),但是:

点击/api/calculations/53478f158a866abeff会返回所有计算属性,包括 postcard ......!

我的印象是datasource预测应适用于两个GET级别。我错过了配置中的某些内容......?

settings.py中的(部分)内容:

calculations_schema = {

... some attributes...

  'postcard': {
    'type': 'string'
  },

... more attributess...
}

calculations = {
    'resource_methods': ['GET'],
    'item_methods': ['GET', 'PUT', 'PATCH'],
    'schema': calculations_schema,
    'item_title': 'Calculation',
    'datasource': {
        'projection': {
            'postcard': 0
        },
        'default_sort': [('_updated', -1)]
    }
}

DOMAIN = {
    ... other resources ...
    'calculations': calculations,
    ... more resources ...
}

谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,似乎我被同样的缓存“咬”了。 Eve甚至没有返回资源,但是它回复了HTTP-304而我正在查看之前calculation的浏览器缓存版本。

浪费时间...... :(

但是我们今天学到了什么,孩子们?

两个调试技巧让我发现了这一点:

  • 在隐身窗口(或其他浏览器)中尝试您的请求,以验证问题是否属于通用问题,并且不适用于您正在查看的特定情况。

  • 检查ChromeDevTools的网络标签(或其他浏览器中的等效标签),查看实际的HTTP请求(包含标题和所有内容)