我正在一个页面上工作,我有event-list page(未来事件)和event-review page(过去的事件,存档)。
在这两个页面上我使用django-cms AppHook,因为我也有详细的视图。
活动结束后的第二天,活动应隐藏在活动列表中,并在活动评论页面上显示。但问题是该事件仍然在事件列表页面中。
models.py
public class Uppgift4_6a {
public static void main(String[] args) {
int [] intArray= new int [] {2, 4};
int l= intArray[0];
int r= intArray[1];
System.out.println("right order:" + l + " " + r);
exchange(intArray, intArray[0], intArray[1]);
System.out.println("right order:" + l + " " + r);
}
public static void exchange (int[] intArray, int l, int r){
l = intArray[0];
r = intArray[1];
intArray[1] = l;
intArray[0] = r;
return;
}
}
views.py
# Managers
class EventsManager(models.Manager):
"""EventsManager."""
def get_all(self):
return super(EventsManager, self) \
.filter(is_visible=True) \
.order_by('-date')
def get_all_future(self):
return super(EventsManager, self) \
.filter(is_visible=True) \
.filter(date__gte=datetime.datetime.now()) \
.order_by('date')
def get_all_past(self):
return super(EventsManager, self) \
.filter(is_visible=True) \
.filter(date__lt=datetime.datetime.now()) \
.order_by('-date')
我尝试使用@never_cache,但事件仍在事件列表页面上。我认为这是一个缓存问题,但我不确定从哪里开始搜索。有什么建议吗?
答案 0 :(得分:0)
我遇到了类似的问题,而且它与Django CMS无关。我出于某种原因只在生产中遇到了这个问题。解决方案是使用类方法get_queryset()
,而不是使用queryset
变量定义我的查询集。出于某些原因,当使用UWSGI运行我的django应用程序时,sql查询被缓存,我的日期过滤卡在我第一次查询的日期。
<强>替换强>
queryset = Events.objects.get_all_past()
<强>与强>
def get_queryset(self):
return Events.objects.get_all_past()