Django ManyToMany MultipleChoice Field Edit Values Not Getting Checked

попытка показать уже выбранные элементы из отношения "многие ко многим" в поле множественного выбора Django, но выбранные значения не проверяются.

вот что я пробовал до сих пор

// models.py
class Person(models.Model):
    name = models.CharField(max_length = 100, help_text = _('name required! maximum 100 characters'))

class Team(models.Model):
    name = models.CharField(max_length = 100, help_text = _('name required! maximum 100 characters'))
    members = models.ManyToManyField(Member, related_name = 'teams')

// forms.py
class TeamForm(forms.ModelForm):
    teams = forms.MultipleChoiceField(choices = Team.objects.all(), widget = forms.CheckboxSelectMultiple)

    def __init__(self, *args, **kwargs):
        super(TeamForm, self).__init__(*args, **kwargs)

        if kwargs.get('instance'):
            initial = kwargs.setdefault('initial', {})
            initial['teams'] = [t for t in kwargs['instance'].teams.all()]

// views.py
class PersonEditView(View):
    team_form = TeamForm
    template_name = 'persons/edit.html'

    def get(self, request, person_id):
        """
        """
        person = get_object_or_404(Person, pk = person_id)

        return render(request, self.template_name, {
            'team_form': self.team_form(instance = member, initial = {'teams': person.teams.all()}),
        })

// edit.html template
<div class="">
    <p class="">Team Information</p>

    {% for team in team_form.teams.field.choices %}
    <div class="">
        <input id="{{ team.id }}" type="checkbox" value="{{ team.id }}" class="">
        <label for="{{ team.id }}" class="">{{ team.name|title }}</label>
    </div>
    {% endfor %}
</div>

как сделать так, чтобы при редактировании деталей команды Person в списке команд отображались выбранные команды, отмеченные галочкой?

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