title: Override to_representation in List serializer class
body: <p>I have a serializer that implements the <code>BaseSerializer</code> class in which I'm using the <code>to_representation</code> function to do a function call like so:</p>
  
  <pre><code>class ItemSerializer(serializers.BaseSerializer):
      def to_representation(self, instance):
          ret = super().to_representation(instance)
          ret['log'] = SERVICE.log(instance.id)
          return ret
  
      class Meta:
          list_serializer_class = ItemListSerializer
          model = models.Item
          fields = '__all__'
  </code></pre>
  
  <p>I also have a list serializer for the same <code>ItemListSerializer</code> which looks like this:</p>
  
  <pre><code>class ItemListSerializer(serializers.ListSerializer):
      def create(self, validated_data):
          items = [models.Item(**item) for item in validated_data]
          return models.Item.objects.bulk_create(items)
  </code></pre>
  
  <p>What I want to do is override the <code>to_representation</code> method in the <code>ItemSerializer</code> for when I want to get the entire list of Items. I basically want to avoid doing a function call per item and instead do a bulk call for all the items when the list of items is requested for performance reasons. </p>
  
  <p>Is there a good way to do this? I followed these docs for creating the <code>ItemListSerializer</code>:<a href="https://www.django-rest-framework.org/api-guide/serializers/#customizing-listserializer-behavior" rel="noreferrer">https://www.django-rest-framework.org/api-guide/serializers/#customizing-listserializer-behavior</a> but it only talks about overriding create and update methods. </p>