Skip to content

Commit

Permalink
#18: Add like filtering
Browse files Browse the repository at this point in the history
  • Loading branch information
keiranjprice101 committed Aug 14, 2019
1 parent 63aa305 commit 1382e9b
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion common/database_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,18 @@ def apply_filter(self, query):
class WhereFilter(QueryFilter):
precedence = 0

def __init__(self, field, value):
def __init__(self, field, value, operation):
self.field = field
self.value = value
self.operation = operation

def apply_filter(self, query):
if self.operation == "eq":
query.base_query = query.base_query.filter(getattr(query.table, self.field) == self.value)
elif self.operation == "like":
query.base_query = query.base_query.filter(getattr(query.table, self.field).like(f"%{self.value}%"))
else:
raise BadFilterError(f" Bad operation given to where filter. operation: {self.operation}")


class OrderFilter(QueryFilter):
Expand Down

0 comments on commit 1382e9b

Please sign in to comment.