我需要创建一个与给定规范一致的棉花糖模式,其中我无法更改键名称。其中一个关键是 Python 中的保留关键字“from”。
class TemporalExtentSchema(Schema):
from = fields.String(required=True)
to = fields.String(required=True)
这在Python中当然是不允许的,所以我需要写这样的东西:
class TemporalExtentSchema(Schema):
t_from = fields.String(required=True)
to = fields.String(required=True)
我想要的是:
{
"from": "2018-01-01",
"to": "2018-01-10"
}
序列化时是否可以将实例属性映射到另一个键(t_from -> from)?
最佳答案
使用 dump_to
/load_from
(marshmallow 2) 或 data_key
( marshmallow 3 ):
class TemporalExtentSchema(Schema):
# Marshmallow 2
t_from = fields.String(required=True, dump_to='from', load_from='from')
# Marshmallow 3
t_from = fields.String(required=True, data_key='from')
to = fields.String(required=True)
关于python - marshmallow - 序列化时如何将架构属性映射到另一个键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51727441/