У меня есть модель Django с временной меткой created
, и я хотел бы получить количество объектов, созданных в каждый день. Я надеялся использовать функциональность агрегации в Django, но я не могу понять, как решить мою проблему. Предполагая, что это не сработает, я всегда могу вернуться только к тому, чтобы получить все даты со значением_list, но я бы предпочел дать работу Django или DB. Как вы это сделаете?
Получайте ежедневные подсчеты объектов из Django
Ответ 1
Алекс указал на правильный ответ в комментарии:
Подсчитать количество записей по дате в 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'))
Я изучаю новые трюки каждый день, читая стеки.. удивительный!
Ответ 2
Используйте метод count:
YourModel.objects.filter(published_on=datetime.date(2011, 4, 1)).count()