              self.depth = depth
          self.stack = stack
  
      def get_fields(self, obj):
          """
          Return the set of field names/keys to use for a model instance/dict.
          """
          fields = self.fields
  
          # If `fields` is not set, we use the default fields and modify
          # them with `include` and `exclude`
          if not fields:
 
</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         else:
            fields = _fields_to_list(self.fields)

 </s> add  </s> remove         for fname in fields:
 </s> add         for fname, related_info in _fields_to_list(fields): </s> remove         related_serializer = self.get_related_serializer(key)
 </s> add         related_serializer = self.get_related_serializer(related_info) </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 ()]
              self.depth = depth
          self.stack = stack
  
      def get_fields(self, obj):



          fields = self.fields
  
          # If `fields` is not set, we use the default fields and modify
          # them with `include` and `exclude`
          if not fields:
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