Найти - Пользователи
Полная версия: Голосование в Django
Начало » Django » Голосование в Django
1
Maxim2015
Здравствуйте. Начал осваивать Django, и столкнулся с задачкой. В моем проекте требуется реализовать учет голосов пользователей так, что бы каждый пользователь при выборе “за” увеличивал бы долю этого варианта ну а если он в следующий раз зашел и проголосовал “против” то уменьшил бы долю за на 1 и на 1 увеличил бы “против”. И тем более важно, исключить возможность повторного голосования за один и тот же вариант одним и тем же пользователем.
Буду благодарен за любые мысли.
Спасибо.
FishHook
Вопрос как раз из той категории, когда не понятно в чем же у вопрошающего проблема. Связать таблицу пользователей и таблицу голосований через мэни-ту-мэни? И что тут непонятного? У вас уже какие-то модели есть для этого?
Maxim2015
Модели Question и Choice. Question - вопрос и дата, Сhoice - за и против. А как связать то? Чтобы один пользователь имел один голос и мог на завтра (например) поменять своё мнение, что не просто добавит к противоположному результату а отнимет от прежднего.
inoks
Модель:

class VoteResult(models.Model):
    user = ...
    question = ...
    choice = ...
    class Meta:
        unique_together = ("user", "question")


во views:

VoteResult.objects.update_or_create(user=user, question=quiestion, defaults={'choice': choice})
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB