Matty
Matty

Reputation: 1981

Implementing "Starts with" and "Ends with" queries with Google App Engine

Am wondering if anyone can provide some guidance on how I might implement a starts with or ends with query against a Datastore model using Python?

In pseudo code, it would work something like...

Query for all entities A where property P starts with X

or

Query for all entities B where property P ends with X

Thanks, Matt

Upvotes: 5

Views: 4249

Answers (2)

Nick Johnson
Nick Johnson

Reputation: 101139

You can do a 'starts with' query by using inequality filters:

MyModel.all().filter('prop >=', prefix).filter('prop <', prefix + u'\ufffd')

Doing an 'ends with' query would require storing the reverse of the string, then applying the same tactic as above.

Upvotes: 16

Lee B
Lee B

Reputation: 2157

Seems you can't do it for the general case, but can do it for prefix searches (starts with):

Wildcard search on Appengine in python

Upvotes: 2

Related Questions