code: def get_list_header(self):
          
          model = self.object_list.model
          result = []
          if not self.get_fields():
              result.append(
                  {"name": "", "verbose": str(model._meta.verbose_name)}
              )
          else:
              prefix = self.get_prefix()
              ordering_fields = self.get_ordering_fields()
              for field_name in self.get_fields():
                  item = {}
                  if isinstance(field_name, tuple):
                      # custom property that is not a field of the model
                      name = field_name[0]
                      item["label"] = field_name[1]
                  else:
                      name = field_name
                      try:
                          field_meta = find_field_meta(model, field_name)
                          if field_meta._verbose_name:  # noqa
                              # explicitly set on the model, so don't change
                              item["label"] = field_meta._verbose_name  # noqa
                          else:
                              # title-case the field name (issue #80)
                              item["label"] = field_meta.verbose_name.title()
                      except FieldDoesNotExist:
                          item["label"] = field_name
                      except AttributeError:
                          item["label"] = field_name
                  item["name"] = prefix + name
                  if name in ordering_fields:
                      item["order_url"], item[
                          "order_direction"
                      ] = self.ordering_url(name)
                  result.append(item)
  
          return result
docs: Creates a list of dictionaries with the field names, labels,
          field links, field css classes, order_url and order_direction,
          this simplifies the creation of a table in a template.