Python Peewee按天获取条目数

Python Peewee按天获取条目数,python,peewee,Python,Peewee,我的表有一个datetimefield,我试图找到按天分组的所有条目的计数。假设我在6月1日有3个条目,6月2日有2个条目,6月3日有10个条目,等等 然后我就可以算了。我意识到,从第一天到现在,可以重复所有的日子,但这看起来。。坦白说,很糟糕。因此,我正在寻找是否有可能在不重复多次的情况下完成它 为什么不使用collections.Counter()一次性完成? 例如:假设使用sqlite或postgres,我认为以下方法应该有效: (Entry .select( fn.date_

我的表有一个datetimefield,我试图找到按天分组的所有条目的计数。假设我在6月1日有3个条目,6月2日有2个条目,6月3日有10个条目,等等


然后我就可以算了。我意识到,从第一天到现在,可以重复所有的日子,但这看起来。。坦白说,很糟糕。因此,我正在寻找是否有可能在不重复多次的情况下完成它

为什么不使用collections.Counter()一次性完成?
例如:

假设使用sqlite或postgres,我认为以下方法应该有效:

(Entry
 .select(
     fn.date_trunc('day', Entry.timestamp).alias('day'),
     fn.count(Entry.id).alias('count'))
 .group_by(fn.date_trunc('day', Entry.timestamp)))

你能详细说明fn是从哪里来的吗?还有,我们为什么要按id计数?
fn
是peewee助手<代码>从peewee导入fn,它公开了用于调用SQL函数的Python API。您计算ID是因为它指示给定一天存在多少条目。这个答案仍然有效吗?当我在group_by中使用date_trunc和上一个peewee版本(将尝试放置更多信息)时,我遇到了一个奇怪的异常,这可能是因为使用带有DateTimeField而不是timestamp的sqlite导致的异常?