def _mk_search_conditions_with_operator(table, case_sensitive, comparison_op, values, expressions): if expressions is None: expressions = [] _expressions = [] for column, value in values.items(): if column == 'id': _expressions.append(table.q.id == value) break if case_sensitive: for column, value in values.items(): if column == 'id': continue _expressions.append( getattr(getattr(table.q, column), comparison_op)(value)) for expr, value in expressions: _expressions.append( getattr(expr, comparison_op)(value)) else: for column, value in values.items(): if column == 'id': continue _expressions.append( getattr(func.lower( getattr(table.q, column)), comparison_op)(value.lower())) for expr, value in expressions: _expressions.append( getattr(func.lower(expr), comparison_op)(value.lower())) return _expressions
def test_06_contains(): setupIter() assert len(list(IterTest.select(IterTest.q.name.startswith('a')))) == 1 assert len(list(IterTest.select(IterTest.q.name.contains('a')))) == 1 assert len(list(IterTest.select(IterTest.q.name.contains(func.lower('A'))))) == 1 assert len(list(IterTest.select(IterTest.q.name.contains("a'b")))) == 0 assert len(list(IterTest.select(IterTest.q.name.endswith('a')))) == 1
def test_06_contains(): setupIter() assert len(list(IterTest.select(IterTest.q.name.startswith('a')))) == 1 assert len(list(IterTest.select(IterTest.q.name.contains('a')))) == 1 assert len(list(IterTest.select( IterTest.q.name.contains(func.lower('A'))))) == 1 assert len(list(IterTest.select(IterTest.q.name.contains("a'b")))) == 0 assert len(list(IterTest.select(IterTest.q.name.endswith('a')))) == 1