сериализовать значения совокупных результатов из sqlalchemy, используя зефир - PullRequest
0 голосов
/ 19 сентября 2019

Я выполняю операции count() и group_by() для таблицы следующим образом:

db.session.query(func.count(Tag.name), Tag.name).group_by(Tag.name).limit(limit)

и сериализую ее, используя зефир:

class TagSchema(ma.ModelSchema):
    class Meta:
        model = Tag
    name = fields.String(validate=validate.Length(min=1))

, который дает мне результат как:

[{"name" : "asdf"},{"name":"qwer"}]

но я не вижу значения счетчика, как мне обновить схему, чтобы получить значение счетчика в выводе.

1 Ответ

0 голосов
/ 21 сентября 2019

сначала пометьте поле счета как:

db.session.query(func.count(Tag.name).label('count'), Tag.name).group_by(Tag.name).limit(limit)

, а затем добавьте новую схему как:

class TagCountSchema(ma.ModelSchema):
    name = fields.String()
    count = fields.Int(dump_only=True)
...