def order_by(self, *colnames):
if len(colnames) == <NUM_LIT:0>:<EOL><INDENT>clone = copy.deepcopy(self)<EOL>clone._order = []<EOL>return clone<EOL><DEDENT>conditions = []<EOL>for colname in colnames:<EOL><INDENT>conditions.append('<STR_LIT>'.format(*self._get_ordering_condition(colname)))<EOL><DEDENT>clone = copy.deepcopy(self)<EOL>clone._order.extend(conditions)<EOL>return clone<EOL>
orders the result set.
ordering can only use clustering columns.

Default order is ascending, prepend a '-' to the column name for descending