Skip to content

Commit e89e053

Browse files
committed
refactor _prepare_conditions() method
1 parent d7fd1e1 commit e89e053

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

simple_query_builder/querybuilder.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,20 @@ def _prepare_conditions(self, where: Union[str, list]) -> dict:
224224
elif isinstance(where, list):
225225
for cond in where:
226226
if isinstance(cond, list):
227-
if len(cond) == 3:
227+
if len(cond) == 2:
228+
field = self._prepare_field(cond[0])
229+
value = cond[1]
230+
if isinstance(value, list) or isinstance(value, tuple):
231+
operator = 'IN'
232+
values = ("?," * len(value)).rstrip(',')
233+
sql += f"({field} {operator} ({values}))"
234+
for item in value:
235+
result['values'].append(item)
236+
else:
237+
operator = '='
238+
sql += f"({field} {operator} ?)"
239+
result['values'].append(value)
240+
elif len(cond) == 3:
228241
field = self._prepare_field(cond[0])
229242
operator = cond[1].upper()
230243
value = cond[2]

0 commit comments

Comments
 (0)