  
      def __init__(self, format=empty, input_formats=None, default_timezone=None, *args, **kwargs):
          self.format = format if format is not empty else self.format
          self.input_formats = input_formats if input_formats is not None else self.input_formats
          self.default_timezone = default_timezone if default_timezone is not None else self.default_timezone
          super(DateTimeField, self).__init__(*args, **kwargs)
  
      def enforce_timezone(self, value):
          """
          When `self.default_timezone` is `None`, always return naive datetimes.
          When `self.default_timezone` is not `None`, always return aware datetimes.
          """
          if (self.default_timezone is not None) and not timezone.is_aware(value):
              return timezone.make_aware(value, self.default_timezone)
          elif (self.default_timezone is None) and timezone.is_aware(value):
              return timezone.make_naive(value, timezone.UTC())
          return value
  
      def to_internal_value(self, value):
          if isinstance(value, datetime.date) and not isinstance(value, datetime.datetime):
              self.fail('date')
  
 
</s> remove     def __init__(self, format=empty, input_formats=None, default_timezone=None, *args, **kwargs):
 </s> add     def __init__(self, format=empty, input_formats=None, *args, **kwargs): </s> remove     format = api_settings.DATETIME_FORMAT
    input_formats = api_settings.DATETIME_INPUT_FORMATS
    default_timezone = timezone.get_default_timezone() if settings.USE_TZ else None
 </s> add     format = api_settings.DATE_FORMAT
    input_formats = api_settings.DATE_INPUT_FORMATS </s> remove         if isinstance(value, datetime.date) and not isinstance(value, datetime.datetime):
            self.fail('date')

 </s> add  </s> remove             return self.enforce_timezone(value)
 </s> add             self.fail('datetime')

        if isinstance(value, datetime.date):
            return value </s> remove         if isinstance(value, datetime.datetime):
            value = value.time()
 </s> add         # Applying a `TimeField` to a datetime value is almost always
        # not a sensible thing to do, as it means naively dropping
        # any explicit or implicit timezone info.
        assert not isinstance(value, datetime.datetime), (
            'Expected a `time`, but got a `datetime`. Refusing to coerce, '
            'as this may mean losing timezone information. Use a custom '
            'read-only field and deal with timezone issues explicitly.'
        )
        super(DateField, self).__init__(*args, **kwargs)
  
      def __init__(self, format=empty, input_formats=None, default_timezone=None, *args, **kwargs):
          self.format = format if format is not empty else self.format
          self.input_formats = input_formats if input_formats is not None else self.input_formats
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
        super(DateField, self).__init__(*args, **kwargs)
  
      def to_internal_value(self, value):
          if isinstance(value, datetime.date) and not isinstance(value, datetime.datetime):
              self.fail('date')
  
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Refuse to downcast from datetime to date or time 
rest_framework/fields.py