              for item in data
          ]
  
      def get_attribute(self, instance):
          return self.child_relation.get_iterable(instance, self.source)
  
      def to_representation(self, iterable):
          return [
              self.child_relation.to_representation(value)
              for value in iterable
 
</s> remove         relationship = super(PrimaryKeyRelatedField, self).get_iterable(instance, source)
 </s> add         relationship = super(PrimaryKeyRelatedField, self).get_iterable(instance, source_attrs) </s> remove     def get_iterable(self, instance, source):
 </s> add     def get_iterable(self, instance, source_attrs): </s> remove             return get_attribute(instance, [self.source])
 </s> add             return get_attribute(instance, self.source_attrs) </s> remove     def get_iterable(self, instance, source):
        relationship = get_attribute(instance, [source])
 </s> add     def get_iterable(self, instance, source_attrs):
        relationship = get_attribute(instance, source_attrs) </s> remove             return PKOnlyObject(pk=instance.serializable_value(self.source))
 </s> add             instance = get_attribute(instance, self.source_attrs[:-1])
            return PKOnlyObject(pk=instance.serializable_value(self.source_attrs[-1]))
        return self.child_relation.get_iterable(instance, self.source_attrs)
              for item in data
          ]
  
      def get_attribute(self, instance):
        return self.child_relation.get_iterable(instance, self.source_attrs)
  
      def to_representation(self, iterable):
          return [
              self.child_relation.to_representation(value)
              for value in iterable
keep keep keep keep replace keep keep keep keep keep
 Support dotted source on relational fields 
rest_framework/relations.py