code: def unregister(self, model_or_iterable):
          
          if isinstance(model_or_iterable, ModelBase):
              model_or_iterable = [model_or_iterable]
          for model in model_or_iterable:
              # Check if the model is actually registered (``get_options_for_model``
              # throws an exception if it's not).
              self.get_options_for_model(model)
              # Invalidate all submodels options and forget about
              # the model itself.
              for desc, desc_opts in list(self._registry.items()):
                  if not issubclass(desc, model):
                      continue
                  if model != desc and desc_opts.registered:
                      # Allowing to unregister a base would necessitate
                      # repatching all submodels.
                      raise DescendantRegistered(
                          'You need to unregister descendant "%s" before'
                          ' unregistering its base "%s"' %
                          (desc.__name__, model.__name__))
                  del self._registry[desc]
docs: Unregisters the given model(s).
  
          If a model isn't registered, this will raise NotRegistered. If one of
          its subclasses is registered, DescendantRegistered will be raised.