Агрегирование в Django в полях DateTime, в то время как TZ осведомлен - PullRequest
0 голосов
/ 14 января 2020

У меня есть простая модель, например, так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...