Slide 16
Slide 16 text
Defining Lookups
class DatabaseWrapper(BaseDatabaseWrapper):
operators = {
"exact": "= %s",
"iexact": "LIKE %s ESCAPE '\\'",
"gte": ">= %s",
"startswith": "LIKE %s ESCAPE '\\'",
...}
pattern_esc = r"REPLACE(REPLACE(REPLACE({}, '\', '\\'),
'%%', '\%%'), '_', '\_')"
pattern_ops = {
'contains': r"LIKE CONCAT('%%', {}, '%%') ESCAPE '\'",
'startswith': r"LIKE CONCAT({}, '%%') ESCAPE '\'",
...}