Я использую flask, sqlalchemy и зефир, чтобы написать простой REST API. По умолчанию модель всегда сериализуется в 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 - это неупорядоченный набор и для клиента это не имеет значения. Тем не менее, это больше для целей отладки во время разработки и красивой печати. Поэтому я ожидаю, что структура позволит мне определить порядок атрибутов.