Can anyone share your approach for doing a 'or' query in app-engine?
Let say I have
class A_db_model(db.Model):
valueA = db.ListProperty(basestring)
in valueA I have
aaa
aaa, bbb
bbb
ccc
I would like to return result of if the valueA match 'aaa' or 'bbb' and return not duplicated result.
Try this?
A_db_model.all().filter('valueA IN', ['aaa', 'bbb'])
or the equivalent GQL:
GqlQuery('SELECT * FROM A_db_model WHERE valueA IN :1', ['aaa', 'bbb'])
The two main problems with @Amber's approach is that it is slow as it basically runs a query for each value behind the scenes and it maxes out at 30 values to query for. I just wrote a blog post about this question. It explains the best scalable way to basically do an OR query with app engine. You can use a separate entity to make this happen. See the post for details.
http://tornblue.com/post/11310830291/app-engine-how-to-do-an-efficient-or-query
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With