2016-05-30 116 views
0

我希望当我使用窗体进行查询时,然后模型SearchAllStaticsview_count将添加一个。但事实是,它仍然是一个。无法使用django更新模型的数据

这里的models.py

class SearchAllStatistic(models.Model): 

    content = models.CharField(max_length=255) 
    view_count = models.IntegerField(default=0) 

    def __unicode__(self): 
     return self.content 

    class Meta: 
     ordering = ['-view_count'] 

views.py

class SearchWord(generic.View): 

    def get(self, request): 
     word = request.GET['field3'] 
     object = SearchAllStatistic.objects.filter(content=word) 

     if object: 
      w = SearchAllStatistic.objects.get(content=word) 
      w.view_count =+1 
      print(w.view_count) 
      w.save() 
     else: 
      w = SearchAllStatistic(content=word, view_count=10) 
      w.save() 
     try: 
      form = Search_Shiwen_Form(request.GET) 
      if form.is_valid(): 
       shiwen = Shiwen.objects.get(field3=form.cleaned_data['field3']) 
       return render(request, 'search/shiwen.html', {'result': shiwen}) 
      else: 
       return render(request, 'search/errors.html', {'errors': 'xx'}) 
     except: 
      form = Search_word_Form(request.GET) 
      if form.is_valid(): 
       word = Newgw.objects.filter(field2=form.cleaned_data['field3']) 
       return render(request, 'search/word.html', {'result': word}) 
      else: 
       return render(request, 'search/errors.html') 

这里是模板

<form id="form" method="GET" action="word/"> 
    <label for="id_field3"></label><input id="id_field3" maxlength="255" name="field3" type="text" /> 
    <button type="submit">xxx</button> 
</form> 

我想知道为什么VIEW_COUNT尚未更新和就像1一样。

回答

1

你有错误

w.view_count =+1 

这是你想要做的其实

+0

多么愚蠢我什么这是使用+=运营商的分配1价值view_count变量,而不是

w.view_count += 1 

上午.. –