Ejemplo n.º 1
0
 def contains(self, value):
     if isinstance(value, dict):
         rhs = Value(value, unpack=False)
         return Expression(self, HCONTAINS_DICT, rhs)
     elif isinstance(value, (list, tuple)):
         rhs = Value(value, unpack=False)
         return Expression(self, HCONTAINS_KEYS, rhs)
     return Expression(self, HCONTAINS_KEY, value)
Ejemplo n.º 2
0
    def apply_default(self, table, column_name, field):
        default = field.default
        if callable_(default):
            default = default()

        return (self.make_context().literal('UPDATE ').sql(
            Entity(table)).literal(' SET ').sql(
                Expression(Entity(column_name),
                           OP.EQ,
                           field.db_value(default),
                           flat=True)))
Ejemplo n.º 3
0
 def concat(self, rhs):
     return Expression(self.as_json(True), OP.CONCAT, Json(rhs))
Ejemplo n.º 4
0
def Match(field, query, language=None):
    params = (language, query) if language is not None else (query, )
    field_params = (language, field) if language is not None else (field, )
    return Expression(fn.to_tsvector(*field_params), TS_MATCH,
                      fn.to_tsquery(*params))
Ejemplo n.º 5
0
 def match(self, query, language=None, plain=False):
     params = (language, query) if language is not None else (query, )
     func = fn.plainto_tsquery if plain else fn.to_tsquery
     return Expression(self, TS_MATCH, func(*params))
Ejemplo n.º 6
0
 def remove(self, *items):
     return Expression(cast_jsonb(self), JSONB_REMOVE,
                       Value(list(items), unpack=False))
Ejemplo n.º 7
0
 def contains(self, *items):
     return Expression(self, ACONTAINS, ArrayValue(self, items))
Ejemplo n.º 8
0
def match(lhs, rhs):
    return Expression(lhs, OP.MATCH, rhs)
Ejemplo n.º 9
0
 def has_key(self, key):
     return Expression(self.as_json(True), JSONB_CONTAINS_KEY, key)
Ejemplo n.º 10
0
 def contains(self, other):
     if isinstance(other, (list, dict)):
         return Expression(self, JSONB_CONTAINS, Json(other))
     return Expression(cast_jsonb(self), JSONB_EXISTS, other)
Ejemplo n.º 11
0
 def contains_any(self, *keys):
     return Expression(self, HCONTAINS_ANY_KEY,
                       Value(list(keys), unpack=False))
Ejemplo n.º 12
0
 def update(self, **data):
     return Expression(self, HUPDATE, data)
Ejemplo n.º 13
0
 def __getitem__(self, key):
     return Expression(self, HKEY, Value(key))
Ejemplo n.º 14
0
 def contains_any(self, *items):
     return Expression(self, ACONTAINS_ANY, ArrayValue(self, items))
Ejemplo n.º 15
0
 def contains(self, other):
     clone = self.as_json(True)
     if isinstance(other, (list, dict)):
         return Expression(clone, JSONB_CONTAINS, Json(other))
     return Expression(clone, JSONB_EXISTS, other)
Ejemplo n.º 16
0
 def contains_all(self, *keys):
     return Expression(self.as_json(True), JSONB_CONTAINS_ALL_KEYS,
                       Value(list(keys), unpack=False))
Ejemplo n.º 17
0
 def contained_by(self, other):
     return Expression(cast_jsonb(self), JSONB_CONTAINED_BY, Json(other))
Ejemplo n.º 18
0
 def contains_all(self, *items):
     return Expression(cast_jsonb(self), JSONB_CONTAINS_ALL_KEYS,
                       Value(list(items), unpack=False))
Ejemplo n.º 19
0
 def has_key(self, key):
     return Expression(cast_jsonb(self), JSONB_CONTAINS_KEY, key)
Ejemplo n.º 20
0
 def inner(self, rhs):
     if isinstance(rhs, (list, dict)):
         rhs = Value(rhs, converter=self.db_value, unpack=False)
     return Expression(self, op, rhs)
Ejemplo n.º 21
0
 def inner(self, rhs):
     return Expression(self, op, ArrayValue(self, rhs))