'Converts the query into an extraction query.'

def add_select(self, field_name, lookup_type, order='ASC'):

    try:
        result = self.setup_joins(field_name.split(LOOKUP_SEP), self.get_meta(), self.get_initial_alias())
    except FieldError:
        raise FieldDoesNotExist(("%s    has    no    field    named    '%s'" % (self.get_meta().object_name, field_name)))
    field = result[0]
    self._check_field(field)
    alias = result[3][(-1)]
    select = self._get_select((alias, field.column), lookup_type)
    self.clear_select_clause()
    self.select = [SelectInfo(select, None)]
    self.distinct = True
    self.order_by = ([1] if (order == 'ASC') else [(-1)])
    if field.null:
        self.add_filter((('%s__isnull' % field_name), False))
