python - 特定版本文档的 rmbedding 行为是意外的

标签 python versioning eve

我非常成功地使用了 Python REST API 框架,并且感谢它的作者提供它。

根据(稀疏)文档,可以应用特定版本的嵌入。考虑以下直接从 http://python-eve.org/ 的文档复制的示例。

 DOMAIN = {
     'emails': {
         'schema': {
             'author': {
                 'type': 'dict',
                 'schema': {
                     '_id': {'type': 'objectid'},
                     '_version': {'type': 'integer'}
                 },
                 'data_relation': {
                     'resource': 'users',
                     'field': '_id',
                     'embeddable': True,
                     'version': True,
                 },
             },
             'subject': {'type': 'string'},
             'body': {'type': 'string'},
         }
     }

此处,“作者”是每个电子邮件文档中包含“_id”和“_version”字段的架构。

A.假设我的前端正在运行 Javascript,当我应用该语句时

Restangular.one('emails', some-id).get({embedded: {"author": 1}}).then(

要检索具有给定 ID 的电子邮件文档并请求嵌入作者文档,我得到的是作者的最新版本,而不是电子邮件文档作者的 _version 字段中指示的版本。为什么不尊重版本呢?有没有办法通过一些神奇的配置来强制嵌入其中指示的版本?

BW,解决方法非常简单——只需抑制这种自动嵌入,而是首先检索电子邮件文档,然后检索作者的特定版本,但这与直观相反。

B.该手册列出了一个名为“embedded_fields”的配置属性,它指定(我引用)默认启用嵌入式资源序列化的字段列表。 A 会期望,即使该字段指定默认情况下应嵌入作者,该语句

Restangular.one('emails', some-id).get({embedded: {"author": 0}}).then(

将覆盖默认值。嗯,事实并非如此。再说一遍,为什么?或者也许这只是一个错误。

最佳答案

您使用的是哪个版本的 Eve? 0.6 之前的嵌入式版本化文档存在问题,但它们应该已在提交 b92890 中全部解决。 。尝试升级到 v0.6.1,或者如果您在 0.6 后遇到问题,请告诉我。

关于python - 特定版本文档的 rmbedding 行为是意外的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320611/

相关文章:

silverlight - 如何创建Silverlight 3应用程序无法使用的Silverlight 4 dll?

python - 如何在调用资源端点时仅返回一个文档?

python - keras 中用于视频的 tensorflow 后端

python - 如何使用 python 删除 csv 文件中逗号前后的空格?

.net - .NET 中 "*"(通配符)版本号的公式是什么?

python - 如何在前夕设置默认日期时间值?

python - 亚马逊 MWS GetLowestPricedOffersForSKU 的 Boto 方法

python - 如何在 Django/Rest FrameworkWork 中修改 field_to_native

maven - 使用 Maven 配置文件进行 Artifact 版本控制