У меня есть класс, который содержит дату, а также некоторые другие поля.
То, что я пытаюсь выяснить, это запрос, который вернет мне каждый из элементов, сгруппированных по дате.
Итак, учитывая следующий класс: -
class Item(models.Model):
item_date = models.DateField()
<other fields>
Я бы хотел получить что-то вроде этого: -
[
{
'item_date': datetime.date(2018, 9, 12),
'items': <Queryset [<Item: item1>, <Item: item17> ...]
}, {
'item_date': datetime.date(2018, 9, 13),
'items': <Queryset [<Item: item2>, <Item: item33> ...]
}, {
'item_date': datetime.date(2018, 9, 14),
'items': <Queryset [<Item: item34>, <Item: item37> ...]
} ...
]
Я почти уверен, что мне нужна какая-то аннотация, но я не уверен на 100%, как ее структурировать.
Самое близкое, что у меня есть: -
Item.objects.values('item_date').annotate(Count('id')).order_by('item_date')
но это просто дает мне счет того, сколько предметов на каждую дату, а не фактических предметов (очевидно!).
Что мне нужно вместо этого графа? Это вообще возможно?!