Выберите корректный вариант. Вашего варианта нет среди допустимых значений. 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
