假设我有一个这样的模型:
class Event(models.Model):
title = CharField(max_length=100)
start_time = DateTimeField()
现在,所有事件都以 UTC 格式存储在数据库中。现在,在视图方面,我有这样的课程:
class EventListDay(ListView):
def get_queryset(self):
year, month, day = int(self.kwargs['year']), int(self.kwargs['month']), int(self.kwargs['day'])
target_day = datetime.datetime(year,month,day) #naive date type
target_day = timezone.make_aware(target_day, timezone.get_current_timezone()) #aware date time
return Event.confirmed_objects.get_events_for_day(target_day).order_by("start_time")
现在,当调用此视图时,我会得到一个查询集,其中包含当天发生的所有事件。唯一的问题是返回的事件是从那天开始的 UTC。因此,例如,我在“美国/芝加哥”时区,晚上 7 点之后发生的任何事件都会出现在接下来的几天列表中。
我要问的是如何进行查询,以使返回的事件发生在当前时区的那一天。