def columns(self, model=None):
column = self.column(model=model)<EOL>if column:<EOL><INDENT>yield column<EOL><DEDENT>check = self.__value<EOL>if not isinstance(check, (list, set, tuple)):<EOL><INDENT>check = (check,)<EOL><DEDENT>for val in check:<EOL><INDENT>if isinstance(val, (Query, QueryCompound)):<EOL><INDENT>for col in val.columns(model):<EOL><INDENT>yield col<EOL><DEDENT><DEDENT><DEDENT>
Returns a generator that loops through the columns that are associated with this query.

:return     <generator>(orb.Column)