def get(self, instance, **kwargs): # Get the Expression expr = ObjectField.get(self, instance, **kwargs) # use a custom context if it has been passed in context = kwargs.get('expression_context') if context is None: context = getExprContext(instance, instance) # Expression's __call__ returns a context dictionary if the # expression's text is an empty string. We return None instead. if expr.text.strip(): # Return the evaluated expression value = expr(context) return encode(value, instance, **kwargs) else: return None
def get(self, instance, **kwargs): # Get Expressions exprs = ObjectField.get(self, instance, **kwargs) # use a custom context if it has been passed in context = kwargs.get('expression_context') if context is None: context = getExprContext(instance, instance) # Return evaluated expressions, and check for empty expr texts. value = [] for expr in exprs: if expr.text.strip(): line = expr(context) value.append(encode(line, instance, **kwargs)) else: value.append(None) return value