diff --git a/polls/forms.py b/polls/forms.py index 1f9b147..d17318c 100644 --- a/polls/forms.py +++ b/polls/forms.py @@ -20,4 +20,4 @@ class ChoiceForm(forms.ModelForm): 'choice_text': forms.TextInput(attrs={'class': 'form-control', 'required': True}), } -ChoiceFormSet = formset_factory(ChoiceForm, extra=2, max_num=5) +ChoiceFormSet = formset_factory(ChoiceForm, extra=5, max_num=5) diff --git a/polls/views.py b/polls/views.py index 885bbbc..b4ee47a 100644 --- a/polls/views.py +++ b/polls/views.py @@ -104,7 +104,8 @@ def vote(request, poll_id): if poll.multiple_choice: selected_choice_ids = request.POST.getlist('choice') # First, remove user's previous votes for this poll - poll.choices.filter(votes=user).update(votes=None) + for choice in poll.choices.all(): + choice.votes.remove(user) # Then, add new votes for choice_id in selected_choice_ids: choice = get_object_or_404(Choice, pk=choice_id)