Marshmallow通常序列化嵌套子级(假设定义了嵌套模式)。例如:
{
'id': 2,
'messages' : [
{
'id': 1,
'message': 'foo'
},
{
'id': 2,
'message': 'bar'
}
]
}
然而,malmallow sqlalchemy使孩子们只需通过他们的主键来表示。例如:
^{pr2}$如何让malmallow sqlalchemy序列化子对象。我最好能指定一个深度。例如:序列化到4层深,然后使用uid行为。在
理想情况下,这应该通过schema.load()
进行配置,因为它应该是基于序列化开始位置的动态的。换句话说,将其与模式本身耦合是没有意义的。然而,如果这是唯一的方法,我也很想听到这样的解决方案。在
可以使用嵌套字段来执行此操作。在
假设您的架构如下所示:
^{1}$要只包含某些字段,请在调用
Nested
时使用only
参数(有关用法,请参阅上面的示例,其中序列化输出中只包含msg_id
和message
字段)。在Marshmallow docs有一个更详细更完整的示例:
相关问题 更多 >
编程相关推荐