def get_filter_qobj(self, keys=None):
<EOL>cols = set()<EOL>for agg in self.select.aggregates:<EOL><INDENT>cols.update(agg.cols)<EOL><DEDENT>sels = [SelectExpr(col, [col], col, None) for col in cols]<EOL>select = Select(sels)<EOL>where = list(self.where)<EOL>if keys:<EOL><INDENT>keys = list(keys)<EOL>keys = list(map(sqlize, list(keys)))<EOL>expr = self.select.nonaggs[<NUM_LIT:0>].expr<EOL>clause = []<EOL>if None in keys:<EOL><INDENT>clause.append("<STR_LIT>" % expr)<EOL><DEDENT>if len([k for k in keys if k is not None]) > <NUM_LIT:0>:<EOL><INDENT>clause.append("<STR_LIT>" % expr)<EOL><DEDENT>clause = "<STR_LIT>".join(clause)<EOL>where.append(clause)<EOL><DEDENT>else:<EOL><INDENT>where.append( '<STR_LIT>' % (self.select.nonaggs[<NUM_LIT:0>].expr ) )<EOL><DEDENT>q = Query(self.db, select, self.fr, where)<EOL>return q<EOL>
Return a copy of this Query object with additional where clauses for the 
keys in the argument