code: def add_manager(model):
      
      if model._meta.abstract:
          return
      # Make all managers local for this model to fix patching parent model managers
      model._meta.local_managers = model._meta.managers
  
      for current_manager in model._meta.local_managers:
          prev_class = current_manager.__class__
          patch_manager_class(current_manager)
          if model._default_manager.__class__ is prev_class:
              # Normally model._default_manager is a reference to one of model's managers
              # (and would be patched by the way).
              # However, in some rare situations (mostly proxy models)
              # model._default_manager is not the same instance as one of managers, but it
              # share the same class.
              model._default_manager.__class__ = current_manager.__class__
      patch_manager_class(model._base_manager)
      model._meta.base_manager_name = 'objects'
      model._meta._expire_cache()
docs: Monkey patches the original model to use MultilingualManager instead of
      default managers (not only ``objects``, but also every manager defined and inherited).
  
      Custom managers are merged with MultilingualManager.