Fix: Behebung von Fehlern im Abstimmungs-Feature
Behebt zwei Fehler im kürzlich implementierten Abstimmungs-Feature:
1. **Fehler bei Mehrfachauswahl:** Ein logischer Fehler in der -View, der
beim Abstimmen bei Multiple-Choice-Umfragen auftrat, wurde behoben.
Die inkorrekte Verwendung von wurde durch eine
korrekte Iteration ersetzt, die den Benutzer aus den der
einzelnen Auswahlmöglichkeiten entfernt.
2. **Anzahl der Auswahlmöglichkeiten:** Das Formular zur Erstellung von
Umfragen zeigte nur zwei Felder für Auswahlmöglichkeiten an. Dies wurde
korrigiert, sodass nun, wie gefordert, bis zu fünf
Auswahlmöglichkeiten eingegeben werden können.
Änderungen:
- Korrektur der Logik zum Zurücksetzen von Stimmen in für
Mehrfachauswahl-Umfragen.
- Anpassung des in , um die Anzahl der
angezeigten Auswahlfelder auf 5 zu erhöhen.
This commit is contained in:
parent
001444e0dd
commit
20075fbe1f
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user