flask-marshmallow定义模式以将简单的json转换为复杂的orm

时间:2019-02-16 00:28:34

标签: python json flask orm marshmallow

我在sqlalchemy中有一些实体。它们是User,以及它们发送的消息UserMessage

class User(db.Model):
    __tablename__ = 'User'

    email = Column(String)

class UserMessage(db.Model):
    __tablename__ = 'UserMessages'
    date = Column(String)
    message = Column(String)

    user_id = Column(Integer, ForeignKey('User.uid'))
    user = relationship('User')

现在,我想创建一个Flask资源,让我们的应用程序以不直接映射到实际定义模型的方式发布信息。例如,如下所示:

我要解析的杰森

{
    "date": '12345',
    "user": {
    "email": "test@email.com"
},
    "message": "I'm a message"

}

我为棉花糖看到的所有示例都涉及在json中转换对象,这些对象的结构与orm对象相同。在此示例中,您希望json看起来更像这样:

Json棉花糖想要

{
    "user": {
        "email": "test@email.com",
        "messages": {
            "message": "I'm a message"
            },
        "date": "12345"
        }
}

marshammlow是否允许我定义一个更任意的模式,该模式将在此json和我的内部orm对象之间转换?如果是这样,有人可以向我指出文档或示例吗?

0 个答案:

没有答案