          ContentType if necessary. Lookups are cached so that subsequent lookups
          for the same model don't hit the database.
          """
          opts = self._get_opts(model, for_concrete_model)
          with suppress(KeyError):
              return self._get_from_cache(opts)
  
          # The ContentType entry was not found in the cache, therefore we
          # proceed to load or create it.
          try:
 
</s> remove     with suppress(KeyError):
 </s> add     try: </s> remove             with suppress(KeyError):
 </s> add             try: </s> remove             # SuspiciousFileOperation occurs if the jointed path is located
            # outside of this template_dir (it might be inside another one,
            # so this isn't fatal).
            with suppress(SuspiciousFileOperation):
 </s> add             try:
        try:
          ContentType if necessary. Lookups are cached so that subsequent lookups
          for the same model don't hit the database.
          """
          opts = self._get_opts(model, for_concrete_model)
        try:
              return self._get_from_cache(opts)
  
          # The ContentType entry was not found in the cache, therefore we
          # proceed to load or create it.
          try:
keep keep keep keep replace keep keep keep keep keep
 Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."

This reverts commit 550cb3a365dee4edfdd1563224d5304de2a57fda
because try/except performs better. 
django/contrib/contenttypes/models.py