Django Serializers - Дататайм с несколькими возможными форматами

Я хочу, чтобы мой Django Serializer проверял формат даты в соответствии с несколькими возможными форматами. По сути, эти форматы следующие:

  • просто дата (ГГГГ-ММ-ДД)
  • дата + часы (ГГГГ-ММ-ДД-ЧЧ)
  • дата + часы + минуты (ГГГГ-ММ-ДД ЧЧ:ММ)
  • дата + часы + минуты + секунды (ГГГГ-ММ-ДД ЧЧ:ММ:СС)

Я знаю, что последние два возможны вместе, используя DateTimeField с format= '%Y-%m-%d %H:%M:%S.

Я знаю, что первый возможен по умолчанию с помощью DateField.

Я предполагаю, что второй вариант возможен при использовании DateTimeField с format= '%Y-%m-%d %H', но я не проверял.

Я хочу знать: есть ли прямой способ объединить все эти валидаторы вместе, без необходимости использовать пользовательские функции/валидаторы? Например, моим первым побуждением было предоставить список возможных форматов параметру format на полях Date/DateTime, но безуспешно. Может быть, я что-то упускаю?

Как сказал Абдул, мне нужен был аргумент input_formats

Вернуться на верх