Каков правильный метод проверки ввода для настраиваемого мультивиджета в каждом из этих случаев:
- , если я хочу реализовать настраиваемое поле?
- , если я хочу использоватьсуществующий тип поля базы данных (скажем, DateField)?
Мотивация для этого исходит из следующих двух вопросов:
- Как использовать мультивиджет django?
- Мультивиджет с подклассами Django
Меня особенно интересует тот факт, что я чувствую, что меня обманули.Я использовал value_from_datadict()
примерно так:
def value_from_datadict(self, data, files, name):
datelist = [widget.value_from_datadict(data, files, name + '_%s' % i) for i, widget in enumerate(self.widgets)]
try:
D = date(day=int(datelist[0]), month=int(datelist[1]), year=int(datelist[2]))
return str(D)
except ValueError:
return None
, который просматривает словарь POST
и создает значение для моего виджета (см. Связанные вопросы).Тем не менее, в то же время я придерживался некоторой проверки;а именно, если создание D
как объекта даты завершается неудачно, я возвращаю None
, который не пройден при проверке is_valid()
.
Поэтому мой третий вопрос заключается в том, должен ли я делать это каким-то другим способом?Для этого случая я не хочу настраиваемое поле.
Спасибо.