我有一个 GAE 数据存储表,其中包含一个数组字段(包含一些字符串)。我想根据包含特定字符串的所有数组字段过滤此表。我怎样才能做到这一点 ?我在 GQL 中没有看到 'contains' 运算符,而 'in' 运算符则相反。我只需要遍历所有实体并自己进行检查吗?
(PS 我在 GAE 的工作中使用 Python)。
我有一个 GAE 数据存储表,其中包含一个数组字段(包含一些字符串)。我想根据包含特定字符串的所有数组字段过滤此表。我怎样才能做到这一点 ?我在 GQL 中没有看到 'contains' 运算符,而 'in' 运算符则相反。我只需要遍历所有实体并自己进行检查吗?
(PS 我在 GAE 的工作中使用 Python)。
只需使用等于,例如:
class MyModel(db.Model):
colors = db.StringListProperty()
MyModel(colors=['red', 'blue']).put()
MyModel(colors=['green', 'blue']).put()
MyModel(colors=['red', 'green']).put()
color = 'red'
query = MyModel.gql('WHERE colors = :1', color)
models = query.fetch(10)
assert len(models) == 2