Поле флажка в формах django показывает ошибку

На основе моего проекта django я хочу добавить несколько пользователей в группу, и я пытаюсь сделать это с помощью формы. Но когда я пытаюсь добавить выбор через виджет CheckBoxSelectMultiple(), он не работает так, как ожидалось.

файл models.py

from django.db import models
from members.models import User
from django.contrib.auth.models import Group

class Sprint(models.Model):

    status_choice = [('Working','Working'), ('Closed','Closed')]

    sprint_name = models.CharField(max_length=180)
    sprint_created = models.DateTimeField(auto_now= True)
    lead = models.ForeignKey(User, on_delete=models.CASCADE, 
                                        related_name='team_lead')
    sprint_members = models.ForeignKey(Group, on_delete=models.CASCADE, related_name = "member")
    sprint_period = models.PositiveIntegerField()
    sprint_status = models.CharField(max_length=10, choices=status_choice, default='Working')

файлforms.py

from django import forms
from .models import Sprint
from members.models import User
from django.core.exceptions import ValidationError
from django.contrib.auth.models import Group


class SprintForm(forms.Form):

    sprint_name = forms.CharField()
    sprint_period = forms.IntegerField(label="Sprint period (in days)", min_value=7)
    lead = forms.ModelChoiceField(queryset= User.objects.filter(role = 'Developer'), 
label="Team Lead")
    sprint_members = forms.ModelChoiceField(queryset= User.objects.filter(role = 
'Developer'),  widget= forms.CheckboxSelectMultiple(), label="Team members")
# class Meta:
#     model = Sprint
#     fields = ['sprint_name', 'lead', 'sprint_period', 'sprint_members']

def clean(self):
    cleaned_data = super().clean()
    lead = cleaned_data.get('lead')
    team = cleaned_data.get('sprint_members')
    if team and lead:
        if lead in team:
            raise ValidationError('Team lead cant be in team')

def save(self):
    team = Group.objects.get_or_create(name=f'team{self.cleaned_data["sprint_name"]}')[0]
    for team_member in self.cleaned_data['sprint_members']:
        team.user_set.add(team_member)
    Sprint.objects.update_or_create(
        sprint_name=self.cleaned_data["sprint_name"],
        lead=self.cleaned_data["lead"],
        sprint_period=self.cleaned_data["sprint_period"],
        _members=team
    )

файлviews.py

class SprintCreationView(generic.FormView):
    model = Sprint
    template_name = 'sprint_creation.html'
    form_class = SprintForm

    def form_valid(self, form):
        form.save()
        return super().form_valid(form)

При попытке отправить форму выдается сообщение "Выберите правильный вариант. Этот выбор не является одним из доступных вариантов."

form creation error

Вернуться на верх