Как опубликовать предварительно заполненное отключенное поле ModelMultipleChoiceField?

Мне нужно, чтобы мой ModelMultipleChoiceField был заполнен параметрами запроса из GET-запроса (/?extending=1&extending2). Я знаю из этого вопроса, что я могу определить get_initial() метод для моего представления, возвращающий мой запрос. И все работает нормально, пока я не отключу ModelMultipleChoiceField, так как мне не нужно, чтобы он был изменяемым.

Это мой ModelForm класс, выведенный из этого ответа:

class ExtensionForm(forms.ModelForm):
    class Meta:
        model = Record
        fields = ['extending', 'name', 'description', 'picture', 'content', 'files']

    extending = forms.ModelMultipleChoiceField(queryset=Record.objects.all())

    def __init__(self, *args, **kwargs):
        if kwargs.get('instance'):
            initial = kwargs.setdefault('initial', {})
            initial['extending'] = [el.pk for el in kwargs['instance'].extending.all()]

        forms.ModelForm.__init__(self, *args, **kwargs)
        self.fields['extending'].disabled = True

    def save(self, commit=True):
        instance = forms.ModelForm.save(self, False)

        old_save_m2m = self.save_m2m
        def save_m2m():
           old_save_m2m()
           instance.extending.clear()
           instance.extending.add(*self.cleaned_data['extending'])
        self.save_m2m = save_m2m

        if commit:
            instance.save()
            self.save_m2m()

        return instance

Как мне обновить этот класс, чтобы мой запрос попал туда?

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