我已经建立了一个 Django 站点来列出当前和即将发生的服务中断。除非我重新启动 Apache 服务,否则查询不会刷新。它会抓取我添加的新消息,但存在不一致。
我在下面运行它。
- 阿帕奇 2.2
- Postgres 9.2
- Django 1.5.1
- 视窗 2008
观点是
class MessageViewMixin(object):
queryset = Message.objects.filter(message_type__id=1
).filter(inactive=False
).filter(start_time__range=(now, nextweek)
).order_by('-start_time', '-end_time')
context_object_name = 'upcoming_list'
def get_context_data(self, **kwargs):
context = super(MessageViewMixin, self).get_context_data(**kwargs)
context['current_list'] = Message.objects.filter(
inactive=False
).filter(
Q(message_type__id=1) | Q(message_type__id=2)
).filter(
Q(end_time__isnull=True) | Q(end_time__gte=now)
).filter(start_time__lte=now
).order_by('-start_time', '-end_time')
return context
因此,即将到来的_list 是对未来一周中断的查询。当发生中断时,消息现在应该属于 current_list。除非我重新启动 Apache,否则不会发生这种情况。