Adds Query.__rand__ and dal.Query.__ror__
Adds __rand__ == __and__ and __ror__ == __or__. Also strips trailing spaces.
This commit is contained in:
+6
-2
@@ -1255,7 +1255,7 @@ class BaseAdapter(ConnectionPool):
|
|||||||
return '(%s LIKE %s)' % (self.expand(first),
|
return '(%s LIKE %s)' % (self.expand(first),
|
||||||
self.expand('%'+second, 'string'))
|
self.expand('%'+second, 'string'))
|
||||||
|
|
||||||
def CONTAINS(self,first,second,case_sensitive=False):
|
def CONTAINS(self,first,second,case_sensitive=False):
|
||||||
if first.type in ('string','text', 'json'):
|
if first.type in ('string','text', 'json'):
|
||||||
second = Expression(None,self.CONCAT('%',Expression(
|
second = Expression(None,self.CONCAT('%',Expression(
|
||||||
None,self.REPLACE(second,('%','%%'))),'%'))
|
None,self.REPLACE(second,('%','%%'))),'%'))
|
||||||
@@ -1306,7 +1306,7 @@ class BaseAdapter(ConnectionPool):
|
|||||||
ftype.startswith('decimal')
|
ftype.startswith('decimal')
|
||||||
|
|
||||||
def REPLACE(self, first, (second, third)):
|
def REPLACE(self, first, (second, third)):
|
||||||
return 'REPLACE(%s,%s,%s)' % (self.expand(first,'string'),
|
return 'REPLACE(%s,%s,%s)' % (self.expand(first,'string'),
|
||||||
self.expand(second,'string'),
|
self.expand(second,'string'),
|
||||||
self.expand(third,'string'))
|
self.expand(third,'string'))
|
||||||
|
|
||||||
@@ -9578,9 +9578,13 @@ class Query(object):
|
|||||||
def __and__(self, other):
|
def __and__(self, other):
|
||||||
return Query(self.db,self.db._adapter.AND,self,other)
|
return Query(self.db,self.db._adapter.AND,self,other)
|
||||||
|
|
||||||
|
__rand__ = __and__
|
||||||
|
|
||||||
def __or__(self, other):
|
def __or__(self, other):
|
||||||
return Query(self.db,self.db._adapter.OR,self,other)
|
return Query(self.db,self.db._adapter.OR,self,other)
|
||||||
|
|
||||||
|
__ror__ = __or__
|
||||||
|
|
||||||
def __invert__(self):
|
def __invert__(self):
|
||||||
if self.op==self.db._adapter.NOT:
|
if self.op==self.db._adapter.NOT:
|
||||||
return self.first
|
return self.first
|
||||||
|
|||||||
Reference in New Issue
Block a user