У меня есть модель Entry, которая имеет поле «Pushes», и я хочу, чтобы каждый пользователь «нажал» (проголосовал) один раз.
Я искал и не мог найти то, что мне нужно.
Вот моя модель:
class Entry(models.Model):
title = models.CharField(max_length = 100)
link = models.URLField(verify_exists=False)
posted = models.DateTimeField(auto_now_add=True)
submitter = models.ForeignKey(User, blank=True, null=True)
pushes = models.PositiveIntegerField(default=0)
def __unicode__(self):
return self.title + " - " + unicode(self.submitter)
А вот мой вид на домашней странице:
def homepage(request):
entries = Entry.objects.all().order_by('-posted')
paginator = Paginator(entries, 30)
try: page = int(request.GET.get('page', '1'))
except ValueError: page = 1
try:
entries = paginator.page(page)
except (InvalidPage, EmptyPage):
entries = paginator.page(paginator.num_pages)
return render_to_response('index.html', {'entries' : entries},
context_instance=RequestContext(request))
Как мне сделать так, чтобы пользователь не мог нажать больше одного раза?
Нужно ли создавать новую функцию?
Стоит ли что-то менять в моделях?