请求嵌入对象列表

时间:2014-12-24 16:54:09

标签: eve

我有项目端点,其中包含嵌入图像列表。该计划如下:

_schema = {
    'name': required_string,  # group name
    'description': {
        'type': 'string',
        'maxlength': 140,
    },
    'images': {
        'type': 'list',
        'scheme': {
            'type': 'objectid',
            'data_relation': {
                'resource': 'images',
                'embeddable': True,
                'field': '_id',
            }
        },
    }
}

所以我正在尝试向items端点发出请求以获取嵌入对象

/项目/ 549ae47f4fb9041305403292嵌入= { “图像”:1}

但是,我只接收带有图像列表_ids的常规对象,而不是嵌入的图像。

以下是对象的示例:

{
    "_updated": "Wed, 24 Dec 2014 16:06:23 GMT",
    "name": "New Item",
    "images": [
        "549ae47f4fb904130540328b",
        "549ae47f4fb904130540328e",
        "549ae47f4fb9041305403291"
    ],
    "_created": "Wed, 24 Dec 2014 16:06:23 GMT",
    "_id": "549ae47f4fb9041305403292",
    "_etag": "949e3b731823bb2c08682ba4b6696b86856ef941",
    "description": "The best item ever"
}

我尝试将列表中的图片ID转换为objectids,但它没有帮助。任何想法为什么它不起作用?感谢

1 个答案:

答案 0 :(得分:5)

您的架构定义不正确。在定义scheme列表时,将schema替换为images

_schema = {
    'name': required_string,  # group name
    'description': {
        'type': 'string',
        'maxlength': 140,
    },
    'images': {
        'type': 'list',
        'schema': {                 # this was 'scheme' in your def
            'type': 'objectid',
            'data_relation': {
                'resource': 'images',
                'embeddable': True,
                'field': '_id',
            }
        },
    }
}

然后它会正确嵌入您的图像列表。