Ответ 1
Вдохновленный этот вопрос попробуйте это для mysql
Product.objects.extra(select={'day': 'date( date_created )'}).values('day') \
.annotate(available=Count('date_created'))
Я пытаюсь сгруппировать продукты по DAY, однако date_created - это поле datetime.
Product.objects.values('date_created') \
.annotate(available=Count('available_quantity'))
возвращает:
[
{'date_created': datetime.datetime(2012, 4, 14, 13, 3, 6), 'available': 1},
{'date_created': datetime.datetime(2012, 4, 14, 17, 12, 9), 'available': 1},
...
]
Я хочу:
[
{'date_created': datetime.datetime(2012, 4, 14), 'available': 2}, ...
]
изменить: база данных mySQL
Вдохновленный этот вопрос попробуйте это для mysql
Product.objects.extra(select={'day': 'date( date_created )'}).values('day') \
.annotate(available=Count('date_created'))
В Django 1.4 вы можете использовать .dates('date_created', 'day')
вместо .values()
.
Попробуйте этот фрагмент кода:
Product.objects.annotate(available=Count('available_quantity')) \
.dates('date_created', 'day')
Это должно возвратиться:
[
{'date_created': datetime.datetime(2012, 4, 14), 'available': 2}, ...
]