Дорогой ЛОР, Я нуб и быдло в Django, но хочу его осилить. И возникла задача сделать в модели валидацию поля хитрее choices. В модели ниже url_pattern это строка для sprintf^W оператора %, причем оно должно мочь иметь только строго ограниченный набор пллейсхолдеров (скажем, %(title) и %(type), но не более того). class StorageServer(models.Model): name = models.CharField(_('Server name'), maxlength=32) url_pattern = models.CharField(_("URL template"), maxlength=255) И, вот, я не особо понимаю где это делается. В формах (FilePathList устроен, как я понял, именно так, через get_manipulator_field_objs оно возвращает поле формы и вся проверка идет только там, но это же некошерно) или все-таки где-то в модели можно проверить? Итогом хочется, чтобы любое foo.url_pattern = "http://foo.tld/%s/" в коде бросало исключение (т.к. "%s" там быть не положено). http://www.djangoproject.com/documentation/custom_model_fields/ читал, ничего похожего на то, что я хочу не нашел, разве что в get_db_prep_save() бросить исключение... Но выглядит как-то неправильно, т.е. это уже при записи в базу, а не присваивании и обработке. Собственно, в какую сторону курить? P.S. Такая штука необходима и обойтись по-другому не получится. Есть ряд серверов с разными схемами адресации. Для одного будет, скажем, "http://foo.tld/bar/%(title)/", для другого "ftp://baz.tld/%(slug)/". Узнавать о том, что я опечатался, хочу сразу, а не когда потом поймаю исключение при подстановке в паттерн.
Ответ на:
комментарий
от friday
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Кастомное хранение полей модели в django (2019)
- Форум Django и динамически создаваемые поля в модели. (2014)
- Форум [Django] Наследование моделей (2009)
- Форум Django - изменить модель. (2008)
- Форум [django]формы и модели (2010)
- Форум Общие модели в Django (2018)
- Форум [django] Форма для модели (2008)
- Форум Django и CKEditor. Некорректная работа CKEditor для полей моделей (2015)
- Форум Связанные поля Django ORM (2018)
- Форум Перевод полей в моделях (2012)