msh*_*rir 9 google-app-engine bigtable
样本模型:
class Foo(db.Model):
id = db.IntegerProperty()
bar = db.ListProperty(int, required=True)
Run Code Online (Sandbox Code Playgroud)
如何使用Query或GqlQuery查询返回其bar属性中具有给定值的所有Foo实体?
如果我有一个id列表,是否有一个过滤器将返回其id属性在该列表中的所有实体?
1.
如果在list属性上使用equals查询,它将检查列表中的所有项:
search = 2
results = Foo.all().filter('bar =', search).fetch()
Run Code Online (Sandbox Code Playgroud)
2.
您可以使用IN过滤器,但请注意,在内部这会对列表中的每个项目进行数据存储查询,因此可能很慢,并且每个请求最多也有30个内部查询.
items = [1, 2, 3]
results = Foo.all().filter("id IN", items).fetch()
Run Code Online (Sandbox Code Playgroud)
有关1和2的详细信息,请参阅"查询简介",有关1的详细信息,请参阅ListProperty.
| 归档时间: |
|
| 查看次数: |
2063 次 |
| 最近记录: |