def order_by(self, **kwargs):
        """
        Orders the query by the key passed in +kwargs+. Only pass one key, as
        it cannot sort by multiple columns at once. Raises QueryInvalid if this
        method is called when there is already a custom order (i.e. this
        method was already called on this query). Analog to "ORDER BY" in SQL.
        """
        # Only get one thing from kwargs (we can only order by one thing...)
        if self._order_with:
            raise QueryInvalid("Cannot order by more than one column")
        self._order_with = dict([kwargs.popitem()])
        return self