用棉花糖系列化儿童

2024-04-19 11:01:28 发布

您现在位置:Python中文网/ 问答频道 /正文

Marshmallow通常序列化嵌套子级(假设定义了嵌套模式)。例如:

{
    'id': 2,
    'messages' : [
        {
            'id': 1,
            'message': 'foo'
        },
        {
            'id': 2,
            'message': 'bar'
        }
      ]
}

然而,malmallow sqlalchemy使孩子们只需通过他们的主键来表示。例如:

^{pr2}$

如何让malmallow sqlalchemy序列化子对象。我最好能指定一个深度。例如:序列化到4层深,然后使用uid行为。在

理想情况下,这应该通过schema.load()进行配置,因为它应该是基于序列化开始位置的动态的。换句话说,将其与模式本身耦合是没有意义的。然而,如果这是唯一的方法,我也很想听到这样的解决方案。在


Tags: idmessage序列化定义foosqlalchemy模式bar
1条回答
网友
1楼 · 发布于 2024-04-19 11:01:28

可以使用嵌套字段来执行此操作。在

假设您的架构如下所示:

^{1}$

要只包含某些字段,请在调用Nested时使用only参数(有关用法,请参阅上面的示例,其中序列化输出中只包含msg_idmessage字段)。在

Marshmallow docs有一个更详细更完整的示例:

相关问题 更多 >