def order_by(self, *args):
clone = copy.deepcopy(self)<EOL>clone.adapter.ordered = True<EOL>if args:<EOL><INDENT>clone.adapter.order_by(*args)<EOL><DEDENT>return clone<EOL>
Applies query ordering.

Args:
    **args: Order by fields names.
    Defaults to ascending, prepend with hypen (-) for desecending ordering.

Returns:
    Self. Queryset object.

Examples:
    >>> Person.objects.order_by('-name', 'join_date')