任何想法为什么投影会在资源级别而不是项目上工作?

Any ideas why projection would work on the resource level and not on the item?

我有一个奇怪的问题:

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

命中/api/calculations/53478f158a866abeffreturnsALL计算属性包括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 ...
}

谢谢!

好的,看来我 "bitten" 正在发生相同的缓存。 Eve 甚至没有返回资源,而是用 HTTP-304 进行回复,而我只是在查看之前 calculation.

的浏览器缓存版本

多么浪费时间...:(

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

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

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

  • 检查 ChromeDevTools 的“网络”选项卡(或其他浏览器中的等效项)以查看实际的 HTTP 请求(headers 和所有)