请求嵌入对象列表

Dmi*_*lev 5 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',
            }
        },
    }
}
Run Code Online (Sandbox Code Playgroud)

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

?/项目/ 549ae47f4fb9041305403292嵌入= { "图像":1}

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

这是一个对象的例子:

{
    "_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"
}
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*cci 5

您的架构定义不正确.在定义列表时替换scheme为:schemaimages

_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',
            }
        },
    }
}
Run Code Online (Sandbox Code Playgroud)

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