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

при вводе правильного значения в input, выводит Выберите корректный вариант. Вашего варианта нет среди допустимых значений ошибка в том, что при вводе надо указать поле pk для модели Service и тогда сохраняется модель. А как сделать, чтобы при записи формы учитывалось сравнение именно по полю name?

models

class Service(models.Model):
    name = models.CharField(max_length=150, db_index=True, unique=True, verbose_name='Наименования услуги')
    used = models.IntegerField(default=0)

    def __str__(self):
        return self.name

forms

class SettingDeviceAddForm(forms.ModelForm):
    class Meta:
        model = Device
        fields = ['name']
        widgets = {
            'name': forms.TextInput(attrs={'class': 'form-control', 'autocomplete': 'off'}),
        }

    def clean_name(self):
        name = self.cleaned_data['name']
        if re.match(r'\d', name):
            raise ValidationError('Название не должно начинаться с цифры')
        if not name[0].isupper():
            raise ValidationError('Название не должно начинаться с маленькой буквы')
        return name

введите сюда описание изображения


Ответы (0 шт):