Added support for gt, gte, lt, lte lookups

Refs #23
This commit is contained in:
Simon Willison 2017-10-24 18:46:49 -07:00
commit 630b40038e
2 changed files with 38 additions and 13 deletions

7
app.py
View file

@ -325,14 +325,17 @@ def build_where_clause(args):
'contains': '"{}" like ?',
'endswith': '"{}" like ?',
'startswith': '"{}" like ?',
'gt': '"{}" > ?',
'gte': '"{}" >= ?',
'lt': '"{}" < ?',
'lte': '"{}" <= ?',
}[lookup]
value = values[0]
value_convert = {
'exact': lambda s: s,
'contains': lambda s: '%{}%'.format(s),
'endswith': lambda s: '%{}'.format(s),
'startswith': lambda s: '{}%'.format(s),
}[lookup]
}.get(lookup, lambda s: s)
converted = value_convert(value)
sql_bits.append(
(template.format(column), converted)