使用棉花糖序列化来自 sqlalchemy 的聚合结果的值
serialize values of aggregate results from sqlalchemy using marshmallow
我正在对 table 执行 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"}]
但我没有看到计数值,我应该如何更新架构以在输出中获取计数值。
首先将计数字段标记为:
db.session.query(func.count(Tag.name).label('count'), Tag.name).group_by(Tag.name).limit(limit)
然后添加一个新的 shema 为:
class TagCountSchema(ma.ModelSchema):
name = fields.String()
count = fields.Int(dump_only=True)
我正在对 table 执行 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"}]
但我没有看到计数值,我应该如何更新架构以在输出中获取计数值。
首先将计数字段标记为:
db.session.query(func.count(Tag.name).label('count'), Tag.name).group_by(Tag.name).limit(limit)
然后添加一个新的 shema 为:
class TagCountSchema(ma.ModelSchema):
name = fields.String()
count = fields.Int(dump_only=True)