我尝试过以下方法但没有成功:
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)。
非常感谢你们!
答案 0 :(得分:2)
我认为过滤器使用的__day
机制(field__day
)不适用于values
。如果您的数据库具有从日期字段中提取日期的功能,则可以执行下面显示的代码段。
Match.objects.filter(sendDate__gte=dateToStats).extra(
select = {"sendDate__day": "extract (day from sendDate)"})
Extract (day from sendDate)
特定于Postgresql。您必须将其替换为数据库的等效项。