在python flask/marshmallow中更改json属性顺序

在python flask/marshmallow中更改json属性顺序,python,flask,marshmallow,Python,Flask,Marshmallow,我正在使用flask、sqlalchemy和棉花糖编写一个简单的RESTAPI。默认情况下,模型总是序列化为具有字母顺序属性的json 有没有办法用棉花糖指定json属性的顺序 例如: class Sample(db.Model): y = db.Column(db.String(256), primary_key=True) x = db.Column(db.String(256)) def __init__(self, y, x): self.x =

我正在使用flask、sqlalchemy和棉花糖编写一个简单的RESTAPI。默认情况下,模型总是序列化为具有字母顺序属性的json

有没有办法用棉花糖指定json属性的顺序

例如:

class Sample(db.Model):
    y = db.Column(db.String(256), primary_key=True)
    x = db.Column(db.String(256))

    def __init__(self, y, x):
        self.x = x
        self.y = y

class SampleSchema(Schema):
    y = fields.Str()
    x = fields.Str()

@app.route('/sample')
def get_sample():
    dummy = Sample("MyY", "MyX")
    logger.info(dummy)
    schema = SampleSchema()
    return jsonify(schema.dump(dummy).data)
返回

{
  "x": "MyX", 
  "y": "MyY"
}
但我希望

{
  "y": "MyY", 
  "x": "MyX"
}
我知道json是一个无序集,对客户端来说并不重要。然而,它更多的是用于开发和打印过程中的调试目的。因此,我希望有一个框架可以让我定义属性的顺序。

是的,您可以在:

输出将根据字段在类中定义的顺序进行排序。

是的,您可以在:

输出将按照字段在类中定义的顺序排序

class SampleSchema(Schema):
    class Meta:
        ordered = True