docs: def _get_child_admin_site(self, rel):
          """
          Returns the separate AdminSite instance that django-polymorphic
          maintains for child models.
  
          This admin site needs to be passed to the widget so that it passes the
          check of whether the field is pointing to a model that's registered
          in the admin.
  
          The hackiness of this implementation reflects the hackiness of the way
          django-polymorphic does things.
          """
          if rel.to not in self.admin_site._registry:
              # Go through the objects the model inherits from and find one
              # that's registered in the main admin and has a reference to the
              # child admin site in it attributes.
              for parent in rel.to.mro():
                  if parent in self.admin_site._registry \
                  and hasattr(self.admin_site._registry[parent], '_child_admin_site'):
                      return self.admin_site._registry[parent]._child_admin_site
          return self.admin_site