      """
      For historical reasons, the admin app relies on GenericForeignKeys as being
      "not found" by get_field(). This could likely be cleaned up.
      """
      field = opts.get_field(name)
      if (field.is_relation and
              # Generic foreign keys OR reverse relations
              ((field.many_to_one and not field.related_model) or field.one_to_many)):
          raise FieldDoesNotExist()
 
</s> remove     if field.is_relation and field.many_to_one and not field.related_model:
 </s> add     if (field.is_relation and
            # Generic foreign keys OR reverse relations
            ((field.many_to_one and not field.related_model) or field.one_to_many)): </s> remove     list_display = ('leader', 'country', 'expected')
 </s> add     list_display = ('leader', 'country', 'expected', 'sketch')

    def sketch(self, obj):
        # A method with the same name as a reverse accessor.
        return 'list-display-sketch'
    Reverse relations should also be excluded as these aren't attributes of the
    model (rather something like `foo_set`).
      """
      For historical reasons, the admin app relies on GenericForeignKeys as being
      "not found" by get_field(). This could likely be cleaned up.
    Reverse relations should also be excluded as these aren't attributes of the
    model (rather something like `foo_set`).
      """
      field = opts.get_field(name)
      if (field.is_relation and
              # Generic foreign keys OR reverse relations
              ((field.many_to_one and not field.related_model) or field.one_to_many)):
          raise FieldDoesNotExist()
keep keep add keep keep keep keep keep keep
 Fixed #25299 -- Fixed crash with ModelAdmin.list_display value that clashes with a model reverse accessor. 
django/contrib/admin/utils.py