mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Revert "Fixed #16211 -- Added comparison and negation ops to F() expressions"
This reverts commit 28abf5f0eb.
Conflicts:
docs/releases/1.5.txt
This commit is contained in:
@@ -913,9 +913,6 @@ class BaseDatabaseOperations(object):
|
||||
can vary between backends (e.g., Oracle with %% and &) and between
|
||||
subexpression types (e.g., date expressions)
|
||||
"""
|
||||
if connector == 'NOT':
|
||||
assert len(sub_expressions) == 1
|
||||
return 'NOT (%s)' % sub_expressions[0]
|
||||
conn = ' %s ' % connector
|
||||
return conn.join(sub_expressions)
|
||||
|
||||
|
||||
@@ -18,17 +18,6 @@ class ExpressionNode(tree.Node):
|
||||
AND = '&'
|
||||
OR = '|'
|
||||
|
||||
# Unary operator (needs special attention in combine_expression)
|
||||
NOT = 'NOT'
|
||||
|
||||
# Comparison operators
|
||||
EQ = '='
|
||||
GE = '>='
|
||||
GT = '>'
|
||||
LE = '<='
|
||||
LT = '<'
|
||||
NE = '<>'
|
||||
|
||||
def __init__(self, children=None, connector=None, negated=False):
|
||||
if children is not None and len(children) > 1 and connector is None:
|
||||
raise TypeError('You have to specify a connector.')
|
||||
@@ -104,32 +93,6 @@ class ExpressionNode(tree.Node):
|
||||
def __ror__(self, other):
|
||||
return self._combine(other, self.OR, True)
|
||||
|
||||
def __invert__(self):
|
||||
obj = ExpressionNode([self], connector=self.NOT, negated=True)
|
||||
return obj
|
||||
|
||||
def __eq__(self, other):
|
||||
return self._combine(other, self.EQ, False)
|
||||
|
||||
def __ge__(self, other):
|
||||
return self._combine(other, self.GE, False)
|
||||
|
||||
def __gt__(self, other):
|
||||
return self._combine(other, self.GT, False)
|
||||
|
||||
def __le__(self, other):
|
||||
return self._combine(other, self.LE, False)
|
||||
|
||||
def __lt__(self, other):
|
||||
return self._combine(other, self.LT, False)
|
||||
|
||||
def __ne__(self, other):
|
||||
return self._combine(other, self.NE, False)
|
||||
|
||||
def __bool__(self):
|
||||
raise TypeError('Boolean operators should be avoided. Use bitwise operators.')
|
||||
__nonzero__ = __bool__
|
||||
|
||||
def prepare_database_save(self, unused):
|
||||
return self
|
||||
|
||||
|
||||
@@ -88,12 +88,8 @@ class Node(object):
|
||||
Otherwise, the whole tree is pushed down one level and a new root
|
||||
connector is created, connecting the existing tree and the new node.
|
||||
"""
|
||||
# Using for loop with 'is' instead of 'if node in children' so node
|
||||
# __eq__ method doesn't get called. The __eq__ method can be overriden
|
||||
# by subtypes, for example the F-expression.
|
||||
for child in self.children:
|
||||
if node is child and conn_type == self.connector:
|
||||
return
|
||||
if node in self.children and conn_type == self.connector:
|
||||
return
|
||||
if len(self.children) < 2:
|
||||
self.connector = conn_type
|
||||
if self.connector == conn_type:
|
||||
|
||||
Reference in New Issue
Block a user