Некорректная обработка формы python django

Есть следующий класс формы:

class AddressRegistrationForm(forms.ModelForm):
    class Meta:
        model = AddressRegistration
        fields = ['address']

    def __init__(self, *args, **kwargs):
        super(AddressRegistrationForm, self).__init__(*args, **kwargs)
        search_data = kwargs['initial']['search_data']
        self.fields['address'].queryset = Address.objects.filter(
            street__icontains=search_data['street'],
            city__icontains=search_data['city'],
        )

        if len(self.fields['address'].queryset) > 0:
            self.fields['address'].initial = self.fields['address'].queryset[0]

Выборка fields['address'].queryset осуществляется правильно и таком виде все работает. Но если добавить выполнение среза в строку:

        self.fields['address'].queryset = Address.objects.filter(
            street__icontains=search_data['street'],
            city__icontains=search_data['city'],
        )[0:3]

При валидации формы пишет:

Выберите корректный вариант. Вашего варианта нет среди допустимых значений.

Количество элементов среза, переопределение cleaned_data, clean - ничего не работает. POST запрос уходит корректный, т.е. там просто id объекта Address и токен, также как и при работе без среза. Что может быть не так? Django 4.1

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