Open ghoul-ipg opened 2 years ago
I tried to modify CmpOp to implement my results, or do you have any other methods?
class CmpOp(_Op):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._identifier = SQLToken.token2sql(self.statement.left, self.query)
self._is_empty = False
if isinstance(self.statement.right, Identifier):
raise SQLDecodeError('Join using WHERE not supported')
self._operator = OPERATOR_MAP[self.statement.token_next(0)[1].value]
index = re_index(self.statement.right.value)
self._constant = self.params[index] if index is not None else None
if isinstance(self._constant, dict):
if not self._constant:
self._field_ext = None
self._is_empty = True
else:
self._field_ext, self._constant = next(iter(self._constant.items()))
else:
self._field_ext = None
def negate(self):
self.is_negated = True
def evaluate(self):
pass
def to_mongo(self):
field = self._identifier.field
if self._field_ext:
field += '.' + self._field_ext
if self._is_empty:
value = {}
else:
value = {self._operator: self._constant}
if not self.is_negated:
return {field: value}
else:
return {field: {'$not': value}}
What if you remove ".all()" ?
One line description of the issue
I have a Data JsonField that defaults to {}
I want to get all the resumes whoes data is {}
Python script