Django поле множественного выбора не сохраняется

У меня есть простая форма, в которой есть флажок для пользователей, чтобы выбрать некоторые варианты. поэтому я создал модель под названием InterestedField и подключил мою основную модель к ней с помощью метода manytomany. вот моя основная модель:

class PersonalInfo(models.Model):
    id = models.AutoField(primary_key=True)
    isCompleted = models.BooleanField(default=False)
    interested_field = models.ManyToManyField(InterestedField)

и вот само поле InterestedField:

class InterestedField(models.Model):
    id = models.AutoField(primary_key=True)
    slug = models.CharField(max_length=16, default='default')
    title = CharField(max_length=32)

достаточно просто. затем, я создал эту форму следующим образом:

class InterestedFieldChoiceForm(forms.Form):
    InterestedFieldChoice = forms.ChoiceField()

и вот мои представления и код html шаблона:

class PersonalView(View):
template_name = 'reg/personal.html'

def get(self, request, *args, **kwargs):
    context = {}
    interested_field = InterestedField.objects.all()
    context['interested_field'] = interested_field

    return render(request, self.template_name, context=context)

def post(self, request, *args, **kwargs):
    user = request.user
    form = InterestedFieldChoiceForm()
    if form.is_valid():
        interested_field = request.POST.getlist('InterestedFieldChoice')
        user.personalInfo.interested_field = interested_field[0]
        user.personalInfo.save()

    user.personalInfo.isCompleted = True
    user.personalInfo.save()
    user.save()

    return render(request, 'reg/done.html', context={'info_type': 'اطلاعات فردی'})

мой html:

<form id="personal-form" method="POST" action="{% url 'personal' %}" autocomplete="off" class="ant-form ant-form-horizontal">
<div class="ant-descriptions">
    <div class="ant-descriptions-view">
        {% for field in interested_field %}
            <label class="ant-col ant-col-md-6 ant-col-xs-8 ant-checkbox-wrapper {% if field in user.personalInfo.interested_field.all %} ant-checkbox-wrapper-checked {%endif%}" style="margin-left: 0; float: right;">
                <span class="ant-checkbox {% if field in user.personalInfo.interested_field.all %} ant-checkbox-checked {%endif%}">
                    <input type="checkbox" name="InterestedFieldChoice" class="ant-checkbox-input" value="{{field.id}}">
                    <span class="ant-checkbox-inner"></span>
                </span>
                <span>{{field.title}}</span>
            </label>
        {% endfor %}
    </div>
</div>
</form>

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

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