  
  
  @six.add_metaclass(SerializerMetaclass)
  class Serializer(BaseSerializer):
      def __init__(self, *args, **kwargs):
          super(Serializer, self).__init__(*args, **kwargs)
  
          # Every new serializer is created with a clone of the field instances.
          # This allows users to dynamically modify the fields on a serializer
          # instance without affecting every other serializer class.
          self.fields = BindingDict(self)
          for key, value in self._get_base_fields().items():
 
</s> remove         self.fields = BindingDict(self)
        for key, value in self._get_base_fields().items():
            self.fields[key] = value

        self.validators = getattr(getattr(self, 'Meta', None), 'validators', [])

    def _get_base_fields(self):
 </s> add  </s> remove     def __init__(self, *args, **kwargs):
        super(ModelSerializer, self).__init__(*args, **kwargs)
        if 'validators' not in kwargs:
            validators = self.get_default_validators()
            if validators:
                self.validators.extend(validators)
                self._kwargs['validators'] = validators

 </s> add  </s> remove             ExampleSerializer()
 </s> add             ExampleSerializer().fields
    @property
    def fields(self):
        if not hasattr(self, '_fields'):
            self._fields = BindingDict(self)
            for key, value in self.get_fields().items():
                self._fields[key] = value
        return self._fields

    def get_fields(self):
  
  
  @six.add_metaclass(SerializerMetaclass)
  class Serializer(BaseSerializer):
    @property
    def fields(self):
        if not hasattr(self, '_fields'):
            self._fields = BindingDict(self)
            for key, value in self.get_fields().items():
                self._fields[key] = value
        return self._fields

    def get_fields(self):
    @property
    def fields(self):
        if not hasattr(self, '_fields'):
            self._fields = BindingDict(self)
            for key, value in self.get_fields().items():
                self._fields[key] = value
        return self._fields

    def get_fields(self):
    @property
    def fields(self):
        if not hasattr(self, '_fields'):
            self._fields = BindingDict(self)
            for key, value in self.get_fields().items():
                self._fields[key] = value
        return self._fields

    def get_fields(self):
          # Every new serializer is created with a clone of the field instances.
          # This allows users to dynamically modify the fields on a serializer
          # instance without affecting every other serializer class.
          self.fields = BindingDict(self)
          for key, value in self._get_base_fields().items():
keep keep keep keep replace replace replace keep keep keep keep keep
 Lazy loading of fields and validators. Closes #1963. 
rest_framework/serializers.py