Как получить массив int в форме django modelmultiplechoicefield

вот мое значение multiselect(vue js) в шаблоне:

....
<input type="hidden" name="related_parties" id="id_related_party" :value="[3]">
....

В приведенном выше коде, :value на самом деле является вычисленным значением vue js, для простоты используем [3] ..

в моих формах django, мое поле:

...
related_parties = forms.ModelMultipleChoiceField(
        required=False,
        queryset=Party.objects.none())
...

Позже в форме Django я в цикле просматриваю значения, полученные из шаблона, чтобы создать список, как показано ниже:

...
for item in self.initial.get('related_parties'):
                ""
                if item.id:
                    party_ids.append(item.id)
...

после этого я присваиваю значение queryset в форме Django, как показано ниже:

...
if party_ids:
                self.fields['related_parties'].queryset = Party.objects.filter(id__in=party_ids or None)
            else:
                self.fields['related_parties'].queryset = None
...

Эта установка отлично работает, если просто :value="[3]" ,,,, но в случае различных значений, таких как "[3,2]", я получаю ошибку валидации: "3,4" is not a valid value.

нужно ли мне использовать другое поле django в формах django? как я могу избежать ошибки валидации в этом случае?

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