2017-03-06 13 views
1

私はDjangoで毎日作成されたレコードの数を取得したいですが、私はそれを動作させることはできません。これまでのところ私はこれ持っている:Django on created_at

私は取得したいように、私は一緒に dpレコードをカウントすることができますどのように

<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)...']> 

を返し

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

<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