code: def get_field_info(model):
      
      opts = model._meta.concrete_model._meta
  
      pk = _get_pk(opts)
      fields = _get_fields(opts)
      forward_relations = _get_forward_relationships(opts)
      reverse_relations = _get_reverse_relationships(opts)
      fields_and_pk = _merge_fields_and_pk(pk, fields)
      relationships = _merge_relationships(forward_relations, reverse_relations)
  
      return FieldInfo(pk, fields, forward_relations, reverse_relations,
                       fields_and_pk, relationships)
docs: Given a model class, returns a `FieldInfo` instance, which is a
      `namedtuple`, containing metadata about the various field types on the model
      including information about their relationships.