docs: def retrieve(self, request, *args, **kwargs):
          """
          If the URL slug doesn't match an object, try slugifying the URL param
          and searching alt_url for that.
          If found, redirect to the canonical URL.
          If still not found, raise 404.
          """
  
          try:
              instance = self.get_object()
              serializer = self.get_serializer(instance)
              return Response(serializer.data)
          except Http404:
              pass
  
          lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
          slug = self.kwargs[lookup_url_kwarg]
  
          # fall back to accession_temp_fallback
          try:
              tmp = get_object_or_404(
                  self.queryset, accession_temp_fallback=slug)
              return HttpResponseRedirect(
                  reverse(self.redirect_view_name, (tmp.slug, ))
              )
          except (Http404, FieldError):
              pass
  
          # fall back to embark ID
          try:
              embark = get_object_or_404(self.queryset, id=int(slug))
              return HttpResponseRedirect(
                  reverse(self.redirect_view_name, (embark.slug, ))
              )
          except (Http404, ValueError):
              pass
  
          # fall back to alt slug
          try:
              from glamkit_collections.utils import alt_slugify
              alt_slug = alt_slugify(slug)
              alt = get_object_or_404(self.queryset, alt_slug=alt_slug)
              return HttpResponseRedirect(
                  reverse(self.redirect_view_name, (alt.slug, ))
              )
          except Http404:
              pass
  
          # well, we tried
          raise Http404