Джанго ограничить голосование один раз в день
Я недавно начал изучать Django, поэтому он все еще немного сбивает меня с толку.
Я буду очень рад, если кто-то может привести меня к ссылке или учебнику или помочь мне разобраться в следующем.
-Позволить пользователю голосовать только один раз в день
Это из моего models.py
class YoungArtistShortlisted(models.Model):
image = models.ImageField(upload_to=upload_file_path, blank=True, null=True)
artist = models.CharField(max_length=200)
age = models.CharField(max_length=200)
created = models.DateTimeField(auto_now_add=True, db_index=True)
modified = models.DateTimeField(auto_now=True, db_index=True)
location = models.CharField(max_length=3, choices=LOCATION_CHOICES)
likes = models.IntegerField(default=0)
def __unicode__(self):
return self.artist
и это мои views.py
def vote(request, youngartistshortlisted_id):
p = get_object_or_404(YoungArtistShortlisted, pk=youngartistshortlisted_id)
p.likes += 1
p.save()
return HttpResponseRedirect(reverse_lazy('youngartist:submission_vote', args=(p.id,)))
В настоящее время я работаю над приложением для автоматического создания пользователя, когда пользователь входит в систему с Facebook. Я абсолютно не знаю, как ограничить голосование одним разом в день, поэтому я очень ценю любую помощь, оказанную мне, потому что я не могу найти что-либо в Google. Спасибо!
Я использую Django 1.8.2
1 ответ
Просто добавьте поле для отслеживания последнего голосования пользователя.
Пример,
last_vote_time = models.DateTimeField()
И в views.py
, проверить, если last_vote_time
имеет 24-часовое отличие от текущего времени.
Это должно помочь. Скажите, если вам нужен код. Но я думаю, ты сможешь это сделать.