      def get_default_fields(self):
          """
          Return all the fields that should be serialized for the model.
          """
          info = modelinfo.get_field_info(self.opts.model)
          ret = SortedDict()
  
          serializer_url_field = self.get_url_field()
          if serializer_url_field:
              ret[api_settings.URL_FIELD_NAME] = serializer_url_field
 
</s> remove         serializer_pk_field = self.get_pk_field(info.pk)
 </s> add         field_name = info.pk.name
        serializer_pk_field = self.get_pk_field(field_name, info.pk) </s> remove             ret[info.pk.name] = serializer_pk_field
 </s> add             ret[field_name] = serializer_pk_field </s> remove             self.label = self.field_name.replace('_', ' ').capitalize()
 </s> add             self.label = field_name_to_label(self.field_name) </s> remove         class NestedModelSerializer(ModelSerializer):  # Not right!
 </s> add         class NestedModelSerializer(ModelSerializer): </s> remove     def get_related_field(self, model_field, related_model, to_many, has_through_model):
 </s> add     def get_related_field(self, field_name, model_field, related_model, to_many, has_through_model):
        info = model_meta.get_field_info(self.opts.model)
      def get_default_fields(self):
          """
          Return all the fields that should be serialized for the model.
          """
        info = model_meta.get_field_info(self.opts.model)
          ret = SortedDict()
  
          serializer_url_field = self.get_url_field()
          if serializer_url_field:
              ret[api_settings.URL_FIELD_NAME] = serializer_url_field
keep keep keep keep replace keep keep keep keep keep
 Drop label from serializer fields when not needed 
rest_framework/serializers.py