North
Сен. 25, 2008 13:18:49
В модели переопределен метод save(), там идет проверка введенного значения - вобщем неважно что там проверяется, но если значение неправильное - нужно сгенерить исключение: вопрос - какое исключение нужно генерировать, откуда его импортнуть - чтобы оно перехватилось админкой, и вывело пользователю описание ошибки?
North
Сен. 29, 2008 10:56:07
Это я знаю :/ Только мне непонятно как сгенерировать ошибку, и перехватить ее в админке и вывести администратору сообщение, если в модели в методе save() проверяется значение, исходя из других моделей… Можно конечно проверить в админке, но это очень замутно и нужно городить огород… Нет никакого решения - сгенерировать исключение в save() и как то его перехватить в админке и вывести администратору - не переписывая вьюшку админки?
Александр Кошелев
Сен. 29, 2008 11:04:01
Как не сложно догадаться метод сейв существует для сохранения объекта, а не для его валидации. Поэтому механизма, оттуда сигнализировать об ошибках, и нет.
Валидировать данные надо на ранних этапах их прихода в приложение - в обработчиках формы. Так что пишите свою ModelForm, проверяете что вам нужно и бросайте ValidationError.