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':
- _expressions.append(
- getattr(getattr(table.q, column), comparison_op)(value))
+ 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':
- _expressions.append(
- getattr(func.lower(
- getattr(table.q, column)),
- comparison_op)(value.lower()))
+ 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
-_search_conditions_dict = {
+_comparison_operators = {
'start': 'startswith',
'substring': 'contains',
'full': '__eq__',
if join_expressions is None:
join_expressions = []
return _mk_search_conditions_with_operator(
- table, case_sensitive, _search_conditions_dict[search_type],
+ table, case_sensitive, _comparison_operators[search_type],
values, expressions) + join_expressions