我正在使用 marshmallow 序列化具有平面结构的 sqlalchemy 对象,例如:
class Company(Base):
__tablename__ = 'Company'
id = sa.Column(sa.Integer, primary_key=True)
MainStreetAddress = sa.Column(sa.String)
MainCity = sa.Column(sa.String)
MainState = sa.Column(sa.String)
MainZip = sa.Column(sa.String)
AltStreetAddress = sa.Column(sa.String)
AltCity = sa.Column(sa.String)
AltState = sa.Column(sa.String)
AltZip2 = sa.Column(sa.String)
序列化时,我希望 marshmallow 对相关地址字段进行分组,如下所示:
{'id':1,
'main_address':{'street_address':'101 main st','city':'springfield','state':'IL','zip':'11231'},
'alt_address':{'street_address':'102 main st','city':'new bedford','state':'MA','zip':'07630'}}
有没有办法让棉花糖在不使用@post_dump 的情况下做到这一点?我知道我可以使用 Nested() 嵌套其他模式,但在这种情况下,我只想从父模式本身嵌套某些列。