':param field:
:param operator:
:param value:
:param quote_field: hack to get the token function rendering properly
:return:'

def __init__(self, field, operator, value, quote_field=True):

    if (not isinstance(operator, BaseWhereOperator)):
        raise StatementException('operator    must    be    of    type    {0},    got    {1}'.format(BaseWhereOperator, type(operator)))
    super(WhereClause, self).__init__(field, value)
    self.operator = operator
    self.query_value = (self.value if isinstance(self.value, QueryValue) else QueryValue(self.value))
    self.quote_field = quote_field
