docs: def admin_view_fk_link(modeladmin: ModelAdmin,
                         obj,
                         fkfield: str,
                         missing: str = "(None)",
                         use_str: bool = True,
                         view_type: str = "change",
                         current_app: str = None) -> str:
      """
      Get a Django admin site URL for an object that's found from a foreign
      key in our object of interest.
      """
      if not hasattr(obj, fkfield):
          return missing
      linked_obj = getattr(obj, fkfield)
      app_name = linked_obj._meta.app_label.lower()
      model_name = linked_obj._meta.object_name.lower()
      viewname = "admin:{}_{}_{}".format(app_name, model_name, view_type)
      # https://docs.djangoproject.com/en/dev/ref/contrib/admin/#reversing-admin-urls  # noqa
      if current_app is None:
          current_app = modeladmin.admin_site.name
          # ... plus a bit of home-grown magic; see Django source
      url = reverse(viewname, args=[linked_obj.pk], current_app=current_app)
      if use_str:
          label = escape(str(linked_obj))
      else:
          label = "{} {}".format(escape(linked_obj._meta.object_name),
                                 linked_obj.pk)
      return '<a href="{}">{}</a>'.format(url, label)