如何仅在嵌套模式中解析 属性 值?
How to parse a property value only in the nested schema?
我使用 marshmallow 将我的 SQLAlchemy 实体转储到 JSON,如下所示:
class EntitySchema(ma.ModelSchema):
class Meta:
model = Entity
children = fields.List(Nested(ChildSchema(only=("id",))))
问题是上面的代码使用嵌套对象而不是纯 int-list 生成 JSON:
{
...
"children": [{"id": 1}, {"id": 2}]
}
如何告诉 marshmallow 只解析 id
属性 的值:"children": [1, 2]
?
使用Pluck
字段:
class EntitySchema(ma.ModelSchema):
class Meta:
model = Entity
children = fields.List(fields.Pluck(ChildSchema, "id"))
我使用 marshmallow 将我的 SQLAlchemy 实体转储到 JSON,如下所示:
class EntitySchema(ma.ModelSchema):
class Meta:
model = Entity
children = fields.List(Nested(ChildSchema(only=("id",))))
问题是上面的代码使用嵌套对象而不是纯 int-list 生成 JSON:
{
...
"children": [{"id": 1}, {"id": 2}]
}
如何告诉 marshmallow 只解析 id
属性 的值:"children": [1, 2]
?
使用Pluck
字段:
class EntitySchema(ma.ModelSchema):
class Meta:
model = Entity
children = fields.List(fields.Pluck(ChildSchema, "id"))