      def set_available_apps(self, available):
          if not set(available).issubset(set(settings.INSTALLED_APPS)):
              extra = set(available) - set(settings.INSTALLED_APPS)
              raise ValueError("Available apps isn't a subset of installed "
                  "apps, extra apps: " + ", ".join(extra))
          self.available_apps = set(app.rsplit('.', 1)[-1] for app in available)
  
      def unset_available_apps(self):
          self.available_apps = None
  
      ### DEPRECATED METHODS GO BELOW THIS LINE ###
 
</s> remove         if not set(available).issubset(set(settings.INSTALLED_APPS)):
            extra = set(available) - set(settings.INSTALLED_APPS)
 </s> add         available = set(available)
        installed = set(settings.INSTALLED_APPS)
        if not available.issubset(installed): </s> remove             model_list = [m for m in model_list if m._meta.app_label in self.available_apps]
 </s> add             model_list = [
                m for m in model_list
                if self.app_configs[m._meta.app_label].name in self.available_apps
            ] </s> remove                 model_list = [m for m in model_list if m._meta.app_label in self.available_apps]
 </s> add                 model_list = [
                    m for m in model_list
                    if self.app_configs[m._meta.app_label].name in self.available_apps
                ] </s> remove         if self.available_apps is not None and app_config.label not in self.available_apps:
 </s> add         if self.available_apps is not None and app_config.name not in self.available_apps: </s> remove             if self.available_apps is not None and app_config.label not in self.available_apps:
 </s> add             if self.available_apps is not None and app_config.name not in self.available_apps:
                "apps, extra apps: %s" % ", ".join(available - installed))
        self.available_apps = available
      def set_available_apps(self, available):
          if not set(available).issubset(set(settings.INSTALLED_APPS)):
              extra = set(available) - set(settings.INSTALLED_APPS)
              raise ValueError("Available apps isn't a subset of installed "
                "apps, extra apps: %s" % ", ".join(available - installed))
        self.available_apps = available
                "apps, extra apps: %s" % ", ".join(available - installed))
        self.available_apps = available
  
      def unset_available_apps(self):
          self.available_apps = None
  
      ### DEPRECATED METHODS GO BELOW THIS LINE ###
keep keep keep keep replace replace keep keep keep keep keep
 Simplified handling of available_apps slightly.

It feels more natural for self.available_apps to contain app names (like
INSTALLED_APPS) than app labels, and this is easy to implement now. 
django/apps/cache.py