ユーザーが単純な投票で2回投票できないように、単純な制限システムを作成しようとしています(ほとんどの場合、djangoチュートリアルの投票例のように)。好きなアプローチを見つけることができないようです。
私が最も気に入っているのは、次のように、Choice モデルにユーザー FK を配置して、そこにユーザーを追加することです。
models.py
vote = models.ForeignKey(User)
ビュー.py
def vote(request):
# Some validations and stuff...
vote.add(request.user)
そうすれば、選択肢ごとに投票を1つに制限できますが、投票ごとに1つに制限したかったのです。状況を想像してみてください: 5 つの選択肢がある投票があり、この検証では、ユーザーは 1 回しか投票できませんが、選択肢ごとに 1 回しか投票できません。つまり、5 回投票できるということです。
投票ごとに 1 票のみを許可するシステムを作成するには、何をお勧めしますか? モデルか何かが必要な場合は、貼り付けます。これはオープンソース プロジェクトです。