更新django中单行的字段

时间:2016-12-29 12:24:04

标签: django django-models

我用django模型创建了一个表。

class Likes(models.Model):
  likes = models.IntegerField(max_length=255,unique=False)
  def __unicode__(self):
      return self.likes

最初我在行中没有记录。但是我想在页面上计算喜欢的内容。所以我有一行会包含页面的内容。我应该尽快增加值喜欢点击我视图中的“赞”按钮。

赞(view.py):

def like(request):
   var=0
   count=Likes.objects.count()
   if(count==0):
      l=Likes(likes=1)
      l.save()
   else:
      l1=Likes()
      l1.likes=int(l1.likes)+1
      l1.save()
      var=l1.likes
return HttpResponse("Likes"+str(var))

但这不起作用。我只想在用户点击按钮后立即增加喜欢。

1 个答案:

答案 0 :(得分:0)

试试这个

from django.db.models import F

likes = models.IntegerField(default=0, max_length=255,unique=False)

然后

Likes.objects.get_or_create() #remove this after first time (no need of checking every time).
Likes.objects.filter().update(likes = F('likes')+1)