【发布时间】:2019-08-07 18:13:25
【问题描述】:
Marshmallow 通常会序列化嵌套子项(假设定义了嵌套模式)。例如:
{
'id': 2,
'messages' : [
{
'id': 1,
'message': 'foo'
},
{
'id': 2,
'message': 'bar'
}
]
}
但是,marshmallow-sqlalchemy 使子项仅由其主键表示。例如:
{
'id': 2,
'messages' : [
1,
2
]
}
如何让 marshmallow-sqlalchemy 序列化子对象。最好,我应该能够指定深度。例如:序列化到 4 层深,然后使用 uid 行为。
理想情况下,这应该可以通过schema.load() 进行配置,因为它应该是基于序列化开始位置的动态。换句话说,将它与模式本身耦合是没有意义的。但是,如果这是唯一的方法,我也很想听到这样的解决方案。
【问题讨论】:
-
您能否提供用于第二个示例的代码?你只用
class Meta吗?
标签: python sqlalchemy marshmallow