Sets the operator type to Query.Op.IsNotIn and sets the value
        to the inputted value.
        
        :param      value       <variant>
        
        :return     <Query>
        
        :usage      |>>> from orb import Query as Q
                    |>>> query = Q('test').not_in([1,2])
                    |>>> print query
                    |test is_not_in [1,2]

def notIn(self, value):
        """
        Sets the operator type to Query.Op.IsNotIn and sets the value
        to the inputted value.
        
        :param      value       <variant>
        
        :return     <Query>
        
        :usage      |>>> from orb import Query as Q
                    |>>> query = Q('test').not_in([1,2])
                    |>>> print query
                    |test is_not_in [1,2]
        """
        newq = self.copy()
        newq.setOp(Query.Op.IsNotIn)

        if isinstance(value, orb.Collection):
            newq.setValue(value)
        elif not isinstance(value, (set, list, tuple)):
            newq.setValue((value,))
        else:
            newq.setValue(tuple(value))

        return newq