2016-12-29 3 views
0

Я создал таблицу с моделью django.Обновление полей одной строки в django

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

Изначально у меня нет записей в row.But я не хочу считать подобные на page.So я имею одну строку, которая будет содержать подобную page.How я должен увеличивать подобные ценности как только пользователь нажмет кнопку на моем экране.

нравится (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)) 

Но это не working.I просто хотите увеличить любит, как только пользователь нажимает на кнопку.

ответ

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) 
+0

Okkk thankyou.I будет попробовать это. –

Смежные вопросы