          property_fields = set(attr for attr in dir(self.model) if
                                isinstance(getattr(self.model, attr, None), property)
                                and not attr.startswith('_'))
  
          if self.fields:
              return property_fields & set(as_tuple(self.fields))
  
          return property_fields - set(as_tuple(self.exclude_fields))
      
  
      
 
</s> remove         property_fields = set(attr for attr in dir(self.model) if
                              isinstance(getattr(self.model, attr, None), property)
 </s> add         model = getattr(self.view, 'model', None)
        fields = getattr(self.view, 'fields', self.fields)
        exclude_fields = getattr(self.view, 'exclude_fields', self.exclude_fields)

        property_fields = set(attr for attr in dir(model) if
                              isinstance(getattr(model, attr, None), property) </s> remove         return model_fields - set(as_tuple(self.exclude_fields))
 </s> add         return model_fields - set(as_tuple(exclude_fields)) </s> remove         return property_fields - set(as_tuple(self.exclude_fields))
 </s> add         return property_fields - set(as_tuple(exclude_fields)) </s> remove         if self.fields:
            return model_fields & set(as_tuple(self.fields))
 </s> add         if fields:
            return model_fields & set(as_tuple(fields)) </s> remove         model_fields = set(field.name for field in self.model._meta.fields)
 </s> add         model = getattr(self.view, 'model', None)
        fields = getattr(self.view, 'fields', self.fields)
        exclude_fields = getattr(self.view, 'exclude_fields', self.exclude_fields)

        model_fields = set(field.name for field in model._meta.fields)
        if fields:
            return property_fields & set(as_tuple(fields))
          property_fields = set(attr for attr in dir(self.model) if
                                isinstance(getattr(self.model, attr, None), property)
                                and not attr.startswith('_'))
  
        if fields:
            return property_fields & set(as_tuple(fields))
        if fields:
            return property_fields & set(as_tuple(fields))
  
          return property_fields - set(as_tuple(self.exclude_fields))
      
  
      
keep keep keep keep replace replace keep keep keep keep keep
 Lots of validator tests passing after refactor 
djangorestframework/validators.py