У меня есть простая модель, например, так:
class Counter(models.Model):
timestamp = models.DateTimeField(auto_now_add=True)
views = models.IntegerField()
Я могу получить сумму просмотров в день, например, так:
Counter.objects.values("timestamp__date").annotate(Sum("views"))
Поскольку метка времени сохраняется как UT C отметка времени, моя аннотация __date
будет правильной для дат UT C.
Как я могу получить ежедневную сумму просмотров, основанную на другом часовом поясе?
В SQL я мог бы сделать что-то подобное (не проверено!) На догадку.
select
date_trunc('day', timestamp + interval '1 hour') as day,
sum(views)
from counter
group by 1