6

我有一个 GAE 数据存储表,其中包含一个数组字段(包含一些字符串)。我想根据包含特定字符串的所有数组字段过滤此表。我怎样才能做到这一点 ?我在 GQL 中没有看到 'contains' 运算符,而 'in' 运算符则相反。我只需要遍历所有实体并自己进行检查吗?

(PS 我在 GAE 的工作中使用 Python)。

4

1 回答 1

6

只需使用等于,例如:

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
于 2013-09-10T13:44:05.470 回答