Я пытаюсь создать простую систему ограничений, чтобы пользователи не могли дважды голосовать в простом опросе (в основном, как пример опроса в учебнике по django), но я не могу найти подход, который мне нравится.
Мне больше всего нравится наличие User FK в модели Choice и добавление туда пользователей, например:
модели.py
vote = models.ForeignKey(User)
просмотры.py
def vote(request):
# Some validations and stuff...
vote.add(request.user)
Таким образом, я могу ограничить количество голосов до 1 за выбор, но я хотел ограничить их до 1 за опрос. Представьте ситуацию: у вас есть опрос, в котором есть 5 вариантов, при такой валидации пользователь может проголосовать только 1 раз, но 1 раз за выбор, то есть он может проголосовать 5 раз.
Что бы вы порекомендовали для создания системы, допускающей только 1 голос за опрос? Мне нужны модели или что-то в этом роде, я их вставлю, это проект с открытым исходным кодом.
through
таблицы в django. Вы можете добавить ограничения в сквозную таблицу. - person karthikr   schedule 26.12.2012through
, но не понимаю, как она может мне помочь. У меня есть только две модели данных. Мне для этого нужно три. - person Oscar Carballal   schedule 26.12.2012