Создайте небольшую функцию для извлечения только даты:
def extract_date(entity):
'extracts the starting date from an entity'
return entity.start_time.date()
Затем вы можете использовать ее с itertools.groupby
:
from itertools import groupby
entities = Entity.objects.order_by('start_time')
for start_date, group in groupby(entities, key=extract_date):
do_something_with(start_date, list(group))
Или, еслиВы действительно хотите список списков:
entities = Entity.objects.order_by('start_time')
list_of_lists = [list(g) for t, g in groupby(entities, key=extract_date)]