  
              if existing_serializer is not None:
                  serializer = existing_serializer
              else:
                  if method in ('PUT', 'PATCH'):
                      serializer = view.get_serializer(instance=instance, **kwargs)
                  else:
                      serializer = view.get_serializer(**kwargs)
  
              if hasattr(serializer, 'initial_data'):
                  serializer.is_valid()
 
</s> remove                     serializer = view.get_serializer(**kwargs)
 </s> add                     # at this point we must have a serializer_class
                    if method in ('PUT', 'PATCH'):
                        serializer = self._get_serializer(view.serializer_class, view,
                                                          request, instance=instance, **kwargs)
                    else:
                        serializer = self._get_serializer(view.serializer_class, view,
                                                          request, **kwargs) </s> remove                 not getattr(view, 'get_serializer', None) or
 </s> add                 (not has_serializer and not has_serializer_class) or
                if has_serializer:
                    if method in ('PUT', 'PATCH'):
                        serializer = view.get_serializer(instance=instance, **kwargs)
                    else:
                        serializer = view.get_serializer(**kwargs)
  
              if existing_serializer is not None:
                  serializer = existing_serializer
              else:
                if has_serializer:
                    if method in ('PUT', 'PATCH'):
                        serializer = view.get_serializer(instance=instance, **kwargs)
                    else:
                        serializer = view.get_serializer(**kwargs)
                if has_serializer:
                    if method in ('PUT', 'PATCH'):
                        serializer = view.get_serializer(instance=instance, **kwargs)
                    else:
                        serializer = view.get_serializer(**kwargs)
                  else:
                      serializer = view.get_serializer(**kwargs)
  
              if hasattr(serializer, 'initial_data'):
                  serializer.is_valid()
keep keep keep keep replace replace keep keep keep keep keep
 Make BrowsableAPIRenderer use serializer_class when present 
rest_framework/renderers.py