def unregister(self, model_or_iterable):
        """
        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.
        """
        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]
def unregister ( self , model_or_iterable ) : if isinstance ( model_or_iterable , ModelBase ) : model_or_iterable = [ model_or_iterable ] for model in model_or_iterable : self . get_options_for_model ( model ) for desc , desc_opts in list ( self . _registry . items ( ) ) : if not issubclass ( desc , model ) : continue if model != desc and desc_opts . registered : raise DescendantRegistered ( 'You need to unregister descendant "%s" before' ' unregistering its base "%s"' % ( desc . __name__ , model . __name__ ) ) del self . _registry [ desc ]
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.