2013-06-19 5 views
0

У меня есть класс django, который имеет два атрибута даты - дату начала и дату окончания. Я хочу сделать специальное требование проверки, в котором говорится, что дата начала должна быть до даты окончания (или в ту же дату). Я знаю, что это вращает пользовательскую проверку, но на самом деле не знаю, куда это должно идти (в модели? В представлении? И т. Д.).Django form custom Дата проверки

Любые советы? Благодарю.

+0

Когда вы можете проверить его? сохранить? – lalo

+0

@lalo Я предполагаю, что я хочу, чтобы метод 'form.is_valid()' возвращал False, если у меня есть end_date

+0

Показывать определение формы и представление – lalo

ответ

1

Добавить Form validation.

Если вы хотите проверить на модели сохранения, используйте django pre_save signal

+0

Да. Это на 100% то, что я искал. Я просто вычитал две даты (создание timedelta), преобразовал их в полные секунды и проверил, было ли это <0. Огромное спасибо! –

0

Я бы поставил проверку как в модели и шаблон. Да, это дважды работа на двух разных языках (Python и Javascript), но вы получите более чистые данные таким образом. Вот один из способов сделать это в jQuery: end date greater than start date - jquery validation.

Модель - это место, где можно поместить всю валидацию данных для этой модели. Создайте метод, который принимает все параметры и вызывает исключения (ValueError и т. Д.), Если данные неверны.