0
我有一个网站,给你随机的笑话,问题是,有时它经常显示相同的笑话。我有一个笑话模型,我想保存这些笑话的id,并且对于每个访问者都要确保同一个笑话没有显示出来,比方说20个回合。但是,我怎样才能保存这些数据并传递给它们呢? 这里是我的观点:Python-Django:保存看到的项目,以便不再显示它们?
def random_good_joke_page(request):
"""If asked for a random joke, redirect to joke's page."""
return redirect('/jokes/%d/' % Joke.find_joke("Hot").id)
def random_cold_joke_page(request):
"""If asked for a random joke, redirect to joke's page."""
return redirect('/jokes/%d/' % Joke.find_joke("Cold").id)
现在,我需要保存已经显示出笑话的ID,并检查新的ID(从find_joke函数给出,这需要一个笑话评级,并返回一个随机适当的笑话) ,如果最近显示的笑话,选择一个新的ID,直到有一个还没有显示。我如何保存这些数据并将它们传递给Django?我想到了cookies,或者为Joke模型添加了这样的功能(虽然我不认为这是针对每个访问者的,但是对于所有人来说......)。这种情况是否有一些默认的实用方法?谢谢
只有一两件事:我怎么能在排除添加另一个条件?我只想得到评分=“热”的笑话,而不是评分=“冷”。除此之外,谢谢,我现在没有这样的事情... – Antoni4040
只需链接查询集: 'qs = Joke.objects.exclude(pk__in = seen_joke_ids).filter(rating ='hot')' 或: 'qs = qs.filter(rating__in = ['hot','semi_hot'])'等。 – ohrstrom
是的,我想通了...谢谢,很好! – Antoni4040