def to_internal_value(self, value): if isinstance(value, datetime.datetime): self.fail('datetime') if isinstance(value, datetime.date): return value for format in self.input_formats: if format.lower() == ISO_8601: try: parsed = parse_date(value) except (ValueError, TypeError): pass else: if parsed is not None: return parsed else: try: parsed = datetime.datetime.strptime(value, format) except (ValueError, TypeError): pass else: return parsed.date() humanized_format = humanize_datetime.date_formats(self.input_formats) self.fail('invalid', format=humanized_format)
def to_internal_value(self, value): input_formats = getattr(self, 'input_formats', api_settings.DATE_INPUT_FORMATS) if isinstance(value, datetime.datetime): return value.date() if isinstance(value, datetime.date): return value for input_format in input_formats: if input_format.lower() == ISO_8601: try: parsed = parse_date(value) except (ValueError, TypeError): pass else: if parsed is not None: return parsed else: try: parsed = self.datetime_parser(value, input_format) except (ValueError, TypeError): pass else: return parsed.date() humanized_format = humanize_datetime.date_formats(input_formats) self.fail('invalid', format=humanized_format)
def get_date_format(self): input_formats = getattr(self.field, 'input_formats', api_settings.DATE_INPUT_FORMATS) return humanize_datetime.date_formats(input_formats)