<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def order_by(self, field=None, table=None, desc=False):
 """ Adds an order by clause to the query by adding a ``Sorter`` instance to the query's sorters list :type field: str or dict or :class:`Field <querybuilder.fields.Field>` :param field: This can be a string of a field name, a dict of {'alias': field}, or a ``Field`` instance :type table: str or dict or :class:`Table <querybuilder.table.Table>` :param table: Optional. This can be a string of a table name, a dict of {'alias': table}, or a ``Table`` instance. A table only needs to be supplied in more complex queries where the field name is ambiguous. :type desc: bool :param desc: Set to True to sort by this field in DESC order or False to sort by this field in ASC order. Defaults to False. :rtype: :class:`Query <querybuilder.query.Query>` :return: self """

        self.sorters.append(Sorter(
            field=field,
            table=table,
            desc=desc
        ))
        return self