11

タイムスタンプ付きの Django モデルがあり、created毎日作成されたオブジェクトの数を取得したいと考えています。Django で集計機能を使用したいと思っていましたが、問題を解決する方法がわかりません。それが機能しないと仮定すると、values_list を使用してすべての日付を取得するだけにいつでも戻ることができますが、Django または DB に作業を任せたいと思います。どのようにしますか?

4

2 に答える 2

25

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

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

私は毎日スタックを読んで新しいトリックを学びます..素晴らしい!

于 2011-02-02T22:43:39.637 に答える
0

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

YourModel.objects.filter(published_on=datetime.date(2011, 4, 1)).count()
于 2011-02-02T20:26:00.073 に答える