2014-07-08 14 views
0
def vote(request, poll_id, choice_id): 
try: 
    poll = Poll.objects.get(pk = poll_id) 
    choice = Choice.objects.get(poll=poll, pk=choice_id) 
    choice.votes +=1 
    url = '/polls/' + poll_id 
    return HttpResponseRedirect(url) 
except Poll.DoesNotExist or Choice.DoesNotExist: 
    return Http404 

我與Django的教程運行,並試圖使它看章節的其餘部分之前的功能和我堅持用了例如投票特徵的投票功能。Django的查看數據庫變量改變

我有投票說明函數顯示一個頁面,包含每個投票的當前投票和選項,並且試圖讓此投票視圖添加一個投票並將用戶返回到您正在查看的投票的說明頁面。

我嘗試在shell右側進行手動操作,並且該函數將您重定向回投票說明頁面,但實際的投票數字從不改變。我的代碼有什麼問題?謝謝

回答

3

您錯過了增加投票後保存對象。

def vote(request, poll_id, choice_id): 
try: 
    poll = Poll.objects.get(pk = poll_id) 
    choice = Choice.objects.get(poll=poll, pk=choice_id) 
    choice.votes +=1 
    ## Saves in database otherwise updates are lost. 
    choice.save() 

    url = '/polls/' + poll_id 
    return HttpResponseRedirect(url) 
except Poll.DoesNotExist or Choice.DoesNotExist: 
    return Http404 
+0

謝謝!完全忘了... – cdipaolo