Django,如何按天分组

Django,如何按天分组,django,django-models,Django,Django Models,我尝试了以下方法,但没有成功: Match.objects.filter(sendDate__gte=dateToStats).values("sendDate__day").annotate(perDay=Count("id")).order_by() 在以下情况下失败: Cannot resolve keyword 'sendDate__day' into field. 其中sendDate是一个DateTime字段,dateToStats只是我正在筛选的某个日期。我对每天的匹配数感兴趣

我尝试了以下方法,但没有成功:

Match.objects.filter(sendDate__gte=dateToStats).values("sendDate__day").annotate(perDay=Count("id")).order_by()
在以下情况下失败:

Cannot resolve keyword 'sendDate__day' into field.
其中sendDate是一个DateTime字段,dateToStats只是我正在筛选的某个日期。我对每天的匹配数感兴趣(基于sendDate)


谢谢大家

我认为过滤器(
field\uu-day
)使用的
\uu-day
机制不适用于
值。如果您的数据库具有从日期字段提取日期的功能,则可以执行如下所示的代码片段

Match.objects.filter(sendDate__gte=dateToStats).extra(
    select = {"sendDate__day": "extract (day from sendDate)"})

提取(从发送日期算起的日期)
特定于Postgresql。您必须将其替换为数据库的等效项

好的,让它使用matchesPerDay=Match.objects.filter(sendDate\uu gte=dateToStats).extra(select={“dateDay”:““DAY(sendDate)”))).values(“dateDay”).annotate(perDay=Count(“id”).order_by()我怎么能拥有模型的其他字段而不按它(values)分组?谢谢我认为你把
values()
的概念搞错了。通过省略
values()
部分,可以获得模型的所有字段以及额外字段。i、 e.
extra(**etc)。注释(**etc)
。请参阅文档:您能告诉我如何分组吗?我以为是通过价值观()。谢谢啊,我想我是通过annotate得到的。如果你是指聚合(总和、平均值等),那么
annotate
就是一种方法。在SQL意义上没有明确的“分组依据”。见本问题: