Google应用引擎或查询(python)

时间:2010-09-15 05:47:10

标签: python google-app-engine

有人可以分享您在app-engine中执行'或'查询的方法吗?

我说我有

class A_db_model(db.Model):
 valueA = db.ListProperty(basestring)

in valueA我有

aaa
aaa, bbb
bbb
ccc

如果值a匹配'aaa'或'bbb'并返回不重复的结果,我想返回结果。

2 个答案:

答案 0 :(得分:6)

试试这个?

A_db_model.all().filter('valueA IN', ['aaa', 'bbb'])

或等效的GQL:

GqlQuery('SELECT * FROM A_db_model WHERE valueA IN :1', ['aaa', 'bbb'])

答案 1 :(得分:2)

@ Amber方法的两个主要问题是它很慢,因为它基本上对幕后的每个值运行一个查询,并且最多可以查询30个值。我刚写了一篇关于这个问题的博文。它解释了基本上使用app引擎进行OR查询的最佳可扩展方式。您可以使用单独的实体来实现此目的。有关详细信息,请参阅帖子。

http://tornblue.com/post/11310830291/app-engine-how-to-do-an-efficient-or-query

相关问题