def expand(self, expression, field_type=None):
if isinstance(expression, Field):
if expression.type in ('text', 'blob', 'json'):
raise SyntaxError('AppEngine does not index by: %s' % expression.type)
return expression.name
elif isinstance(expression, (Expression, Query)):
if not expression.second is None:
return expression.op(expression.first, expression.second)
elif not expression.first is None:
return expression.op(expression.first)
else:
return expression.op()
elif field_type:
return self.represent(expression, field_type)
elif isinstance(expression, (list, tuple)):
return ','.join([self.represent(item, field_type) for item in expression])
else:
return str(expression)
### TODO from gql.py Expression
评论列表
文章目录