Django

2011-02-02 9 views
10

dan nesnelerin günlük sayıları alın created zaman damgalı bir Django modelim var ve her gün oluşturulmuş nesnelerin sayısını almak istiyorum. Django'daki toplama işlevini kullanmayı umuyordum ama sorunumu onunla nasıl çözeceğimi anlayamıyorum. İşe yaramayacağını varsayarak, tüm tarihlerimizi sadece değerler_listesi ile alabiliyorum, ancak işi Django'ya veya DB'ye vermeyi tercih ederim. Nasıl yapardın?Django

+1

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

cevap

23
Alex yorumunda doğru cevabı işaret

:

Count number of records by date in Django
Kredi 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')) 
gider

Her gün yığınları okuyarak yeni püf noktaları öğreniyorum .. harika!

0

count yöntemi kullanın:

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

her gün saymak biraz pahalı olsa da –