def less_than(self, less_than):
        """Adds new `<` condition

        :param less_than: str or datetime compatible object (naive UTC datetime or tz-aware datetime)
        :raise:
            - QueryTypeError: if `less_than` is of an unexpected type
        """

        if hasattr(less_than, 'strftime'):
            less_than = datetime_as_utc(less_than).strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(less_than, six.string_types):
            raise QueryTypeError('Expected value of type `int` or instance of `datetime`, not %s' % type(less_than))

        return self._add_condition('<', less_than, types=[int, str])
Adds new `<` condition

        :param less_than: str or datetime compatible object (naive UTC datetime or tz-aware datetime)
        :raise:
            - QueryTypeError: if `less_than` is of an unexpected type