code: def parse_selectors(model, fields=None, exclude=None, key_map=None, **options):
      
      fields = fields or DEFAULT_SELECTORS
      exclude = exclude or ()
      key_map = key_map or {}
      validated = []
  
      for alias in fields:
          # Map the output key name to the actual field/accessor name for
          # the model
          actual = key_map.get(alias, alias)
  
          # Validate the field exists
          cleaned = resolver.get_field(model, actual)
  
          if cleaned is None:
              raise AttributeError('The "{0}" attribute could not be found '
                                   'on the model "{1}"'.format(actual, model))
  
          # Mapped value, so use the original name listed in `fields`
          if type(cleaned) is list:
              validated.extend(cleaned)
          elif alias != actual:
              validated.append(alias)
          else:
              validated.append(cleaned)
  
      return tuple([x for x in validated if x not in exclude])
docs: Validates fields are valid and maps pseudo-fields to actual fields
      for a given model class.