              del(obj._m2m_data)
  
          if getattr(obj, '_related_data', None):
              for accessor_name, related in obj._related_data.items():
                  if related is None:
                      previous = getattr(obj, accessor_name, related)
                      if previous:
                          previous.delete()
                  elif isinstance(related, models.Model):
                      fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                      setattr(related, fk_field, obj)
                      self.save_object(related)
                  else:
                      setattr(obj, accessor_name, related)
 
</s> remove             if field_name in exclusions and not field.read_only:
 </s> add             if field_name in exclusions \
                and not field.read_only \
                and not isinstance(field, Serializer):
                field = self.fields.get(accessor_name, None)
                if isinstance(field, Serializer):
                    # TODO: Following will be needed for reverse FK
                    # if field.many:
                    #     # Nested reverse fk relationship
                    #     for related_item in related:
                    #         fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                    #         setattr(related_item, fk_field, obj)
                    #         self.save_object(related_item)
                    # else:
                    # Nested reverse one-one relationship
              del(obj._m2m_data)
  
          if getattr(obj, '_related_data', None):
              for accessor_name, related in obj._related_data.items():
                field = self.fields.get(accessor_name, None)
                if isinstance(field, Serializer):
                    # TODO: Following will be needed for reverse FK
                    # if field.many:
                    #     # Nested reverse fk relationship
                    #     for related_item in related:
                    #         fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                    #         setattr(related_item, fk_field, obj)
                    #         self.save_object(related_item)
                    # else:
                    # Nested reverse one-one relationship
                field = self.fields.get(accessor_name, None)
                if isinstance(field, Serializer):
                    # TODO: Following will be needed for reverse FK
                    # if field.many:
                    #     # Nested reverse fk relationship
                    #     for related_item in related:
                    #         fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                    #         setattr(related_item, fk_field, obj)
                    #         self.save_object(related_item)
                    # else:
                    # Nested reverse one-one relationship
                field = self.fields.get(accessor_name, None)
                if isinstance(field, Serializer):
                    # TODO: Following will be needed for reverse FK
                    # if field.many:
                    #     # Nested reverse fk relationship
                    #     for related_item in related:
                    #         fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                    #         setattr(related_item, fk_field, obj)
                    #         self.save_object(related_item)
                    # else:
                    # Nested reverse one-one relationship
                field = self.fields.get(accessor_name, None)
                if isinstance(field, Serializer):
                    # TODO: Following will be needed for reverse FK
                    # if field.many:
                    #     # Nested reverse fk relationship
                    #     for related_item in related:
                    #         fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                    #         setattr(related_item, fk_field, obj)
                    #         self.save_object(related_item)
                    # else:
                    # Nested reverse one-one relationship
                field = self.fields.get(accessor_name, None)
                if isinstance(field, Serializer):
                    # TODO: Following will be needed for reverse FK
                    # if field.many:
                    #     # Nested reverse fk relationship
                    #     for related_item in related:
                    #         fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                    #         setattr(related_item, fk_field, obj)
                    #         self.save_object(related_item)
                    # else:
                    # Nested reverse one-one relationship
                      fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
                      setattr(related, fk_field, obj)
                      self.save_object(related)
                  else:
                      setattr(obj, accessor_name, related)
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 Cleanup one-one nested tests and implementation 
rest_framework/serializers.py