@_lambda_eval
def having(self, *having_expressions, **having_expression_dict):
    self._model_class._check_attrs(having_expression_dict)
    having_expression_dict = self._model_class._wash_attrs(having_expression_dict)
    having_expressions = (list(having_expressions) + list(_dict_to_expressions(self._model_class, having_expression_dict)))
    q = self
    if having_expressions:
        having_expression = reduce(operator.and_, having_expressions)
        if (self._having_expression is not None):
            having_expression = (self._having_expression & having_expression)
        q = q._update(_having_expression=having_expression)
    return q
@_lambda_eval
def having(self, *having_expressions, **having_expression_dict):
    self._model_class._check_attrs(having_expression_dict)
    having_expression_dict = self._model_class._wash_attrs(having_expression_dict)
    having_expressions = (list(having_expressions) + list(_dict_to_expressions(self._model_class, having_expression_dict)))
    q = self
    if having_expressions:
        having_expression = reduce(operator.and_, having_expressions)
        if (self._having_expression is not None):
            having_expression = (self._having_expression & having_expression)
        q = q._update(_having_expression=having_expression)
    return q