code: def many_init(cls, *args, **kwargs):
          
          allow_empty = kwargs.pop('allow_empty', None)
          child_serializer = cls(*args, **kwargs)
          list_kwargs = {
              'child': child_serializer,
          }
          if allow_empty is not None:
              list_kwargs['allow_empty'] = allow_empty
          list_kwargs.update({
              key: value for key, value in kwargs.items()
              if key in LIST_SERIALIZER_KWARGS
          })
          meta = getattr(cls, 'Meta', None)
          list_serializer_class = getattr(meta, 'list_serializer_class', ListSerializer)
          return list_serializer_class(*args, **list_kwargs)
docs: This method implements the creation of a `ListSerializer` parent
          class when `many=True` is used. You can customize it if you need to
          control which keyword arguments are passed to the parent, and
          which are passed to the child.
  
          Note that we're over-cautious in passing most arguments to both parent
          and child classes in order to try to cover the general case. If you're
          overriding this method you'll probably want something much simpler, eg:
  
          @classmethod
          def many_init(cls, *args, **kwargs):
              kwargs['child'] = cls()
              return CustomListSerializer(*args, **kwargs)