'Adds extra SQL fragments to the query.'

def extra(self, select=None, where=None, params=None, tables=None, order_by=None, select_params=None):

    assert self.query.can_filter(), 'Cannot    change    a    query    once    a    slice    has    been    taken'
    clone = self._clone()
    clone.query.add_extra(select, select_params, where, params, tables, order_by)
    return clone
