@@ -376,20 +376,32 @@ def having(self, having: Union[str, list]):
376
376
377
377
return self
378
378
379
- def like (self , cond : Union [str , tuple , list ] = ()):
380
- if cond :
381
- if isinstance (cond , str ):
382
- self .where (cond )
383
- elif isinstance (cond , tuple ) or isinstance (cond , list ):
384
- self .where ([[cond [0 ], "LIKE" , cond [1 ]]])
379
+ def like (self , field : Union [str , tuple , list ] = (), value : str = "" ):
380
+ if not field :
381
+ self .set_error (f"Empty field in { inspect .stack ()[0 ][3 ]} method" )
382
+ return self
383
+
384
+ if isinstance (field , str ) and field and isinstance (value , str ) and value :
385
+ self .where ([[field , "LIKE" , value ]])
386
+ elif isinstance (field , str ) and not value :
387
+ self .where (field )
388
+ elif isinstance (field , tuple ) or isinstance (field , list ):
389
+ self .where ([[field [0 ], "LIKE" , field [1 ]]])
390
+
385
391
return self
386
392
387
- def not_like (self , cond : Union [str , tuple , list ] = ()):
388
- if cond :
389
- if isinstance (cond , str ):
390
- self .where (cond )
391
- elif isinstance (cond , tuple ) or isinstance (cond , list ):
392
- self .where ([[cond [0 ], "NOT LIKE" , cond [1 ]]])
393
+ def not_like (self , field : Union [str , tuple , list ] = (), value : str = "" ):
394
+ if not field :
395
+ self .set_error (f"Empty field in { inspect .stack ()[0 ][3 ]} method" )
396
+ return self
397
+
398
+ if isinstance (field , str ) and isinstance (value , str ) and value :
399
+ self .where ([[field , "NOT LIKE" , value ]])
400
+ elif isinstance (field , str ) and not value :
401
+ self .where (field )
402
+ elif isinstance (field , tuple ) or isinstance (field , list ):
403
+ self .where ([[field [0 ], "NOT LIKE" , field [1 ]]])
404
+
393
405
return self
394
406
395
407
def is_null (self , field : str = "" ):
0 commit comments