web/lib/django/db/models/expressions.py
changeset 29 cc9b7e14412b
parent 0 0d40e90630ef
equal deleted inserted replaced
28:b758351d191f 29:cc9b7e14412b
     1 from copy import deepcopy
       
     2 from datetime import datetime
     1 from datetime import datetime
     3 
     2 
     4 from django.utils import tree
     3 from django.utils import tree
       
     4 from django.utils.copycompat import deepcopy
     5 
     5 
     6 class ExpressionNode(tree.Node):
     6 class ExpressionNode(tree.Node):
     7     """
     7     """
     8     Base class for all query expressions.
     8     Base class for all query expressions.
     9     """
     9     """
    39     ###################
    39     ###################
    40 
    40 
    41     def prepare(self, evaluator, query, allow_joins):
    41     def prepare(self, evaluator, query, allow_joins):
    42         return evaluator.prepare_node(self, query, allow_joins)
    42         return evaluator.prepare_node(self, query, allow_joins)
    43 
    43 
    44     def evaluate(self, evaluator, qn):
    44     def evaluate(self, evaluator, qn, connection):
    45         return evaluator.evaluate_node(self, qn)
    45         return evaluator.evaluate_node(self, qn, connection)
    46 
    46 
    47     #############
    47     #############
    48     # OPERATORS #
    48     # OPERATORS #
    49     #############
    49     #############
    50 
    50 
   107         return obj
   107         return obj
   108 
   108 
   109     def prepare(self, evaluator, query, allow_joins):
   109     def prepare(self, evaluator, query, allow_joins):
   110         return evaluator.prepare_leaf(self, query, allow_joins)
   110         return evaluator.prepare_leaf(self, query, allow_joins)
   111 
   111 
   112     def evaluate(self, evaluator, qn):
   112     def evaluate(self, evaluator, qn, connection):
   113         return evaluator.evaluate_leaf(self, qn)
   113         return evaluator.evaluate_leaf(self, qn, connection)