              self.input_formats = input_formats
          super(DateField, self).__init__(*args, **kwargs)
  
      def to_internal_value(self, value):
          if isinstance(value, datetime.datetime):
              self.fail('datetime')
  
          if isinstance(value, datetime.date):
              return value
  
 
</s> remove         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
 </s> add         if format is not empty:
            self.format = format
        if input_formats is not None:
            self.input_formats = input_formats </s> remove         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
 </s> add         if format is not empty:
            self.format = format
        if input_formats is not None:
            self.input_formats = input_formats </s> remove         for format in self.input_formats:
            if format.lower() == ISO_8601:
 </s> add         for input_format in input_formats:
            if input_format.lower() == ISO_8601:
        input_formats = getattr(self, 'input_formats', api_settings.DATE_INPUT_FORMATS)

              self.input_formats = input_formats
          super(DateField, self).__init__(*args, **kwargs)
  
      def to_internal_value(self, value):
        input_formats = getattr(self, 'input_formats', api_settings.DATE_INPUT_FORMATS)

          if isinstance(value, datetime.datetime):
              self.fail('datetime')
  
          if isinstance(value, datetime.date):
              return value
  
keep keep keep add keep keep keep keep keep keep
 Access settings lazily, not at module import 
rest_framework/fields.py