2011-02-02 8 views
10

私はcreatedのタイムスタンプを持つDjangoモデルを持っています。毎日作成されるオブジェクトの数を取得したいと思います。私はDjangoで集約機能を使用することを望んでいたが、私はそれで私の問題を解決する方法を見つけることができません。それがうまくいかないとすれば、私はいつもvalues_listですべての日付を取得することに戻りますが、私はDjangoまたはDBに作業を提供したいと思います。どうしますか?Djangoからのオブジェクトの1日のカウントを取得

+1

http://stackoverflow.com/questions/2278076/count-number-of-records-by-date-in-django –

答えて

23
アレックスはコメントで正しい答えを指摘

Count number of records by date in Django
クレジットがara818

Guidoism.objects.extra({'created':"date(created)"}).values('created').annotate(created_count=Count('id'))

from django.db.models import Count 

Guidoism.objects \ 
    # get specific dates (not hours for example) and store in "created" 
    .extra({'created':"date(created)"}) 
    # get a values list of only "created" defined earlier 
    .values('created') 
    # annotate each day by Count of Guidoism objects 
    .annotate(created_count=Count('id')) 
0123へ行きます

私は毎日新しいトリックを学び、スタックを読む..すごい!

0

countメソッドを使用します。

YourModel.objects.filter(published_on=datetime.date(2011, 4, 1)).count() 
+1

は毎日カウントするのが少し高価です –

関連する問題