              include = self.include or ()
              exclude = self.exclude or ()
              fields = set(default + list(include)) - set(exclude)
  
          else:
              fields = _fields_to_list(self.fields)
  
          return fields
  
      def get_default_fields(self, obj):
          """
          Return the default list of field names/keys for a model instance/dict.
 
</s> remove         """
        Return the set of field names/keys to use for a model instance/dict.
        """
 </s> add  </s> remove     return [_field_to_tuple(field)[0] for field in fields or ()]


def _fields_to_dict(fields):
    """
    Return a `dict` of field name -> None, or tuple of fields, or Serializer class
    """
    return dict([_field_to_tuple(field) for field in fields or ()])
 </s> add     return [_field_to_tuple(field) for field in fields or ()] </s> remove     Return a list of field names.
 </s> add     Return a list of field tuples. </s> remove     def get_related_serializer(self, key):
        info = _fields_to_dict(self.fields).get(key, None)

 </s> add     def get_related_serializer(self, info): </s> remove         related_serializer = self.get_related_serializer(key)
 </s> add         related_serializer = self.get_related_serializer(related_info)
              include = self.include or ()
              exclude = self.exclude or ()
              fields = set(default + list(include)) - set(exclude)
  



          return fields
  
      def get_default_fields(self, obj):
          """
          Return the default list of field names/keys for a model instance/dict.
keep keep keep keep replace replace replace keep keep keep keep keep
 Fix for #178.

Related serializers passed in via include now work as expected. 
djangorestframework/serializer.py