我想增加候選人的賺取價值,如果他得票。所以我在result_view中寫了這部分,但它不起作用。在Django視圖中,如何更改類成員的值?
這是我的看法。
from django.shortcuts import render_to_response
from election.models import *
# /candidate/ view
def candidate_view(request):
if request.method == 'GET':
c = Candidate.objects.all()
return render_to_response('candidate.html', {'candidates': c})
# /candidate/result/ view
def result_view(request):
if request.method == 'POST':
c = Candidate.objects.all()
ec = Candidate.objects.filter(num=request.POST.get('choice'))
ec[0].earn += 1
ec[0].name = 'semi kwon'
ec[0].save()
#return render_to_response('result.html', {'candidates': ec})
return render_to_response('result.html', {'candidates': c})
這是我的模型。
from django.db import models
class Candidate(models.Model):
num = models.IntegerField()
name = models.TextField()
major = models.TextField()
grade = models.IntegerField()
earn = models.IntegerField(default = 0, blank=True, editable=True)
def __unicode__(self):
return "%d : %s"%(self.num, self.name,)
我怎樣才能解決這個問題?
歡迎進入計算器!爲了更好的可讀性,我編輯了代碼示例的內容。請注意,代碼塊應以4個空格的縮進開頭。如果您可以提供模板的片段,這也是有用的。 – cezar 2015-03-25 06:55:45
你也有一個表單嗎?(像''CandidateForm(ModelForm)'')?在您的''result_view''中,您正在處理應該在表單中完成的用戶輸入,但是您沒有提供所需的代碼。 – cezar 2015-03-25 07:00:06
@cezar感謝您的熱烈歡迎:> !!從現在開始我會記住這一點。 – 2015-03-25 09:56:02