docs: def render_field_previews(self, id_and_obj_list, admin, request, field_name):
          """
          Override this to customise the preview representation of all objects.
          """
          obj_preview_list = []
          for obj_id, obj in id_and_obj_list:
              try:
                  # Handle invalid IDs
                  if obj is None:
                      obj_preview = self.render_field_error(
                          obj_id, obj, None, request
                      )
                  else:
                      try:
                          obj_preview = admin.preview(obj, request)
                      except AttributeError:
                          try:
                              obj_preview = obj.preview(request)
                          except AttributeError:
                              try:
                                  obj_preview = getattr(self, 'preview_{0}'.format(
                                      field_name))(obj, request)
                              except AttributeError:
                                  # Fall back to default field rendering
                                  obj_preview = self.render_field_default(obj, request)
  
                  obj_link = admin_link(obj, inner_html=obj_preview)
              except Exception as ex:
                  obj_link = self.render_field_error(obj_id, obj, ex, request)
              obj_preview_list.append(obj_link)
          li_html_list = [u'<li>{0}</li>'.format(preview)
                          for preview in obj_preview_list]
          if li_html_list:
              return u'<ul>{0}</ul>'.format(u''.join(li_html_list))
          else:
              return ''