2017-03-06 66 views
1

我想要获取Django中每天创建的记录数,但是我无法使其工作。到目前为止,我有这样的:Django在created_at上注释

data = Reservation.objects\ 
     .order_by('created_at')\ 
     .extra({'dp': "date(created_at)"}) \ 
     .values('dp').annotate(count=Count('id')) 

它返回

<QuerySet [{'count': 1, 'dp': datetime.date(2017, 2, 28)}, {'count': 1, 'dp': datetime.date(2017, 2, 28)}, {'count': 1, 'dp': datetime.date(2017, 2, 28)}, {'count': 1, 'dp': datetime.date(2017, 2, 28)}, {'count': 1, 'dp': datetime.date(2017, 3, 1)}, {'count': 1, 'dp': datetime.date(2017, 3, 1)}, {'count': 1, 'dp': datetime.date(2017, 3, 1)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, {'count': 1, 'dp': datetime.date(2017, 3, 2)}, '...(remaining elements truncated)...']> 

我怎么能算dp记录在一起,这样我会得到:

<QuerySet [{'count': 4, 'dp': datetime.date(2017, 2, 28)}{'count': 3, 'dp': datetime.date(2017, 3, 1)},.. 
+0

顺便说一句,额外的()是针对弃用。 –

回答

3

这应该是最后一个:

.order_by('dp') 
+1

是的,就是这样,谢谢 – intelis

2

你有任何元订购模型预订?否则,查询应该只是正常工作

+0

是的,我有,但这就是为什么我明确地将order_by添加到查询中。甚至当我删除元命令它仍然不工作.. – intelis