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]
|
key = list(value.keys())[0]
|
||||||
if key in ('like',):
|
if key in ('like',):
|
||||||
clauses.append(self.table.c[column].like(value[key]))
|
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'):
|
elif key in ('>', 'gt'):
|
||||||
clauses.append(self.table.c[column] > value[key])
|
clauses.append(self.table.c[column] > value[key])
|
||||||
elif key in ('<', 'lt'):
|
elif key in ('<', 'lt'):
|
||||||
@ -383,6 +385,8 @@ class Table(object):
|
|||||||
clauses.append(self.table.c[column] >= value[key])
|
clauses.append(self.table.c[column] >= value[key])
|
||||||
elif key in ('<=', 'lte'):
|
elif key in ('<=', 'lte'):
|
||||||
clauses.append(self.table.c[column] <= value[key])
|
clauses.append(self.table.c[column] <= value[key])
|
||||||
|
elif key in ('=', '==', 'is'):
|
||||||
|
clauses.append(self.table.c[column] == value[key])
|
||||||
elif key in ('!=', '<>', 'not'):
|
elif key in ('!=', '<>', 'not'):
|
||||||
clauses.append(self.table.c[column] != value[key])
|
clauses.append(self.table.c[column] != value[key])
|
||||||
elif key in ('between', '..'):
|
elif key in ('between', '..'):
|
||||||
|
|||||||
@ -339,6 +339,10 @@ class TableTestCase(unittest.TestCase):
|
|||||||
assert len(ds) == 5, ds
|
assert len(ds) == 5, ds
|
||||||
ds = list(self.tbl.find(temperature={'between': [5, 8]}))
|
ds = list(self.tbl.find(temperature={'between': [5, 8]}))
|
||||||
assert len(ds) == 3, ds
|
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):
|
def test_offset(self):
|
||||||
ds = list(self.tbl.find(place=TEST_CITY_1, _offset=1))
|
ds = list(self.tbl.find(place=TEST_CITY_1, _offset=1))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user