docs: def humanized_model_to_dict(instance, readonly_fields, fields=None, exclude=None):
      """
      Returns a dict containing the humanized data in ``instance`` suitable for passing as
      a Form's ``initial`` keyword argument.
  
      ``fields`` is an optional list of field names. If provided, only the named
      fields will be included in the returned dict.
  
      ``exclude`` is an optional list of field names. If provided, the named
      fields will be excluded from the returned dict, even if they are listed in
      the ``fields`` argument.
      """
      opts = instance._meta
      data = {}
      for f in itertools.chain(opts.concrete_fields, opts.private_fields, opts.many_to_many):
          if not getattr(f, 'editable', False):
              continue
          if fields and f.name not in fields:
              continue
          if f.name not in readonly_fields:
              continue
          if exclude and f.name in exclude:
              continue
  
          if f.humanized:
              data[f.name] = f.humanized(getattr(instance, f.name), instance)
      return data