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