在 Python 中使用 Peewee 创建 AVG 查询

Creating AVG query with Peewee in Python

我正在使用 Peewee ORM。我只有一个 table(人),其中包含 first_nameusernameagegender 等字段。我想编写一个查询,得到平均值年龄,就像正常的 SQL 查询:

SELECT AVG(age) FROM Person

但我在 Peewee 中创建此查询时遇到问题。我有:

query = Person.select(fn.AVG(Person.age))

当我打印此查询时,我得到:SELECT AVG("t1"."age") FROM "person" as "t1",当我遍历查询并打印时,我得到 None。有人知道如何解决这个问题吗?

要从聚合中获取标量值,您可以使用 scalar() 方法:

Person.select(fn.AVG(Person.age)).scalar()

http://docs.peewee-orm.com/en/latest/peewee/querying.html#aggregating-records