Implement additional find operators (and relevant tests)
This commit is contained in:
parent
43e9431865
commit
d8cf515ffe
@ -375,6 +375,8 @@ class Table(object):
|
||||
key = list(value.keys())[0]
|
||||
if key in ('like',):
|
||||
clauses.append(self.table.c[column].like(value[key]))
|
||||
elif key in ('ilike',):
|
||||
clauses.append(self.table.c[column].ilike(value[key]))
|
||||
elif key in ('>', 'gt'):
|
||||
clauses.append(self.table.c[column] > value[key])
|
||||
elif key in ('<', 'lt'):
|
||||
@ -383,6 +385,8 @@ class Table(object):
|
||||
clauses.append(self.table.c[column] >= value[key])
|
||||
elif key in ('<=', 'lte'):
|
||||
clauses.append(self.table.c[column] <= value[key])
|
||||
elif key in ('=', '==', 'is'):
|
||||
clauses.append(self.table.c[column] == value[key])
|
||||
elif key in ('!=', '<>', 'not'):
|
||||
clauses.append(self.table.c[column] != value[key])
|
||||
elif key in ('between', '..'):
|
||||
|
||||
@ -339,6 +339,10 @@ class TableTestCase(unittest.TestCase):
|
||||
assert len(ds) == 5, ds
|
||||
ds = list(self.tbl.find(temperature={'between': [5, 8]}))
|
||||
assert len(ds) == 3, ds
|
||||
ds = list(self.tbl.find(place={'=': 'G€lway'}))
|
||||
assert len(ds) == 3, ds
|
||||
ds = list(self.tbl.find(place={'ilike': '%LwAy'}))
|
||||
assert len(ds) == 3, ds
|
||||
|
||||
def test_offset(self):
|
||||
ds = list(self.tbl.find(place=TEST_CITY_1, _offset=1))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user