Django запрос с TruncHour для нескольких продуктов с последней суммой каждой группы. Как это сделать?

Сценарий следующий: Цена в базе данных товаров обновляется каждый час. Люди могут добавить продукт в список желаний. На странице списка пожеланий есть график. Он показывает изменения цены за последние 24 часа. Я хочу показать ежечасное изменение цены всех продуктов из списка желаний за последние 24 часа.

Я пытаюсь, но не могу выполнить запрос. То, что я пытаюсь сделать, приведено ниже:

now = datetime.datetime.now()
last_day = now - datetime.timedelta(hours=23)
x = (
        FloorPrice.objects.filter(
            product__in=vault_products_ids, creation_time__gte=last_day
        )
        .annotate(hour=TruncHour("creation_time"))
        .values("hour", "floor_price")
    )

Предположим, я добавляю в список желаний 4 продукта.

Теперь я хочу, чтобы каждый час 4 продукта суммировались с последней записью этого часа (каждый час каждый продукт имеет несколько минимальных цен, поэтому нам нужно выбрать последнюю запись каждого продукта в этот час).

Вернуться на верх