Измените сообщение об ошибке для отношения M2M:
У меня есть 2 модели, Item и Type:
class Item(models.Model):
types = models.ManyToManyField(Type, related_name='items')
class ItemForm(ModelForm):
class Meta:
model =Item
fields = ['types', 'name', 'desc']
Я получаю следующую ошибку проверки:
Выберите правильный вариант. 0 не является одним из доступных вариантов.Я хочу изменить это сообщение. Как это можно сделать?
В формах Django вы можете очистить ввод пользователя. Для этого вы можете определить метод, начинающийся с clean_ и заканчивая именем поля. В вашем случае вы можете расширить класс формы следующим образом:
class ItemForm(ModelForm):
class Meta:
model =Item
fields = ['types', 'name', 'desc']
def clean_types(self):
types = self.cleaned_data['types']
# now apply logic to check types
# this is just an example you might need to change
if types == 0:
raise forms.ValidationError('Please select valid choices for types')
# modify the validation error as you please
return types
Для получения подробной информации о формах и проверке полей, пожалуйста, проверьте официальную документацию Django.