mirror of
https://github.com/django/django.git
synced 2025-08-24 20:44:24 +00:00
Fixed #18963 -- Used a subclass-friendly pattern
for Python 2 object model compatibility methods.
This commit is contained in:
parent
973f539ab8
commit
fc10418fba
14 changed files with 61 additions and 50 deletions
|
@ -62,7 +62,9 @@ class ExpressionNode(tree.Node):
|
|||
|
||||
def __truediv__(self, other):
|
||||
return self._combine(other, self.DIV, False)
|
||||
__div__ = __truediv__ # Python 2 compatibility
|
||||
|
||||
def __div__(self, other): # Python 2 compatibility
|
||||
return type(self).__truediv__(self, other)
|
||||
|
||||
def __mod__(self, other):
|
||||
return self._combine(other, self.MOD, False)
|
||||
|
@ -94,7 +96,9 @@ class ExpressionNode(tree.Node):
|
|||
|
||||
def __rtruediv__(self, other):
|
||||
return self._combine(other, self.DIV, True)
|
||||
__rdiv__ = __rtruediv__ # Python 2 compatibility
|
||||
|
||||
def __rdiv__(self, other): # Python 2 compatibility
|
||||
return type(self).__rtruediv__(self, other)
|
||||
|
||||
def __rmod__(self, other):
|
||||
return self._combine(other, self.MOD, True)
|
||||
|
@ -151,10 +155,10 @@ class DateModifierNode(ExpressionNode):
|
|||
(A custom function is used in order to preserve six digits of fractional
|
||||
second information on sqlite, and to format both date and datetime values.)
|
||||
|
||||
Note that microsecond comparisons are not well supported with MySQL, since
|
||||
Note that microsecond comparisons are not well supported with MySQL, since
|
||||
MySQL does not store microsecond information.
|
||||
|
||||
Only adding and subtracting timedeltas is supported, attempts to use other
|
||||
Only adding and subtracting timedeltas is supported, attempts to use other
|
||||
operations raise a TypeError.
|
||||
"""
|
||||
def __init__(self, children, connector, negated=False):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue