Какой код нужно прописать что бы вывести ошибку это не число мой вариант не проходит?
forms.py
def clean_price(self):
price = self.cleaned_data['price']
if price < 1:
raise ValidationError('Цена не может быть ниже 1')
elif not isinstance(price, int):
raise ValidationError('Это не число!')
return price
Куда вывести то? Где весь остальной код?
Если выше по стеку нет try catch то приложение упадёт как раз с этой ошибкой.
Кстати, не стоит для валидации исключения использовать - это плохая практика
Виталий Ананьев, допустим. Но даже если не учитывать, что в прошлом вопросе два раза скидывали ссылку на конкретный абзац и в одном из ответов четко указывалось, что надо сделать (на русском языке), вас что, в гугле с яндексом одновременно забанили?
AlexNest, Я не понимаю ваши загадки, здесь уже целый год задаю вопросы и все только говорят но ни кто не может строчку кода прописать правильно, в группе телеграм пальчиками набирают код, а не учат чему то
if isinstance(price, int) is False:
raise ValidationError('Это не число!')
if price < 1:
raise ValidationError('Цена не может быть ниже 1')
return price
Нужно сначала проверить число ли price, а затем его уже с чем то сравнивать.
Виталий Ананьев, есть подозрение, что где-то до запуска функции валидации происходит попытка оперировать с введёнными данными как с int. Все жти попытки должны происходить после валидации.