                  except (ValueError, TypeError):
                      pass
                  else:
                      if parsed is not None:
                          return self.enforce_timezone(parsed)
              else:
                  try:
                      parsed = datetime.datetime.strptime(value, format)
                  except (ValueError, TypeError):
                      pass
 
</s> remove                         return parsed
 </s> add                         return self.enforce_timezone(parsed) </s> remove                     return parsed.date()
 </s> add                     return self.enforce_timezone(parsed) </s> remove                     return self.enforce_timezone(parsed)
 </s> add                     return parsed.date() </s> remove                     parsed = parse_datetime(value)
 </s> add                     parsed = parse_date(value) </s> remove                     parsed = parse_date(value)
 </s> add                     parsed = parse_datetime(value)
                        return parsed
                  except (ValueError, TypeError):
                      pass
                  else:
                      if parsed is not None:
                        return parsed
              else:
                  try:
                      parsed = datetime.datetime.strptime(value, format)
                  except (ValueError, TypeError):
                      pass
keep keep keep keep replace keep keep keep keep keep
 Refuse to downcast from datetime to date or time 
rest_framework/fields.py