I tested the filter you provided: query.filter('owner = ', PetOwner.all().filter('name =', 'johndoe'))
However it didn't work. I visited the doc you referenced, but the page does not mention anything about the style of query filters or any information on construction of queries with ReferenceProperty that I could find. Does the query filter you wrote work on your side? I broke our your query: PetOwner.all().filter('name =', 'johndoe') Which worked fine, however it was in placing it inside the query.filter that I get an error. Do you not get an error structured like this? On Sep 15, 4:36 am, Arun Shanker Prasad <arunshankerpra...@gmail.com> wrote: > Hi, > > I think you are trying to filter the ReferenceProperty as a string, > this won't work. You need to; > > query.filter('owner = ', PetOwner.all().filter('name =', 'johndoe')) > > Doc on the Datastore ReferenceProperty; > > http://code.google.com/appengine/docs/python/datastore/entitiesandmod... > > Thanks, > Arun Shanker Prasad. > > On Sep 15, 8:54 am, PatHaugen <pathau...@gmail.com> wrote: > > > Jumping into GAE, I found the ReferenceProperty interesting but still > > don't fully understand it. > > > My question can expand on the example > > from:http://code.google.com/appengine/docs/python/datastore/creatinggettin... > > > class PetOwner(db.Model): > > name = db.StringProperty() > > class Pet(db.Model): > > name = db.StringProperty() > > type = db.StringProperty() # cat, dog, etc. > > owner = db.ReferenceProperty(PetOwner) > > > Let's do a query to select all cats with a specific owner. > > > query = db.Query(Pet) > > query = Pet.all() > > query.filter('type = ', 'Cat') > > results = query.fetch(limit=10) > > for result in results: > > output = result.name > > return output > > > What can I add to this to filter only those where 'owner' is > > 'johndoe'? > > > I tried: > > query.filter('owner = ', 'johndoe') > > > However it fails to return me a result, and I know you can pull the > > owner name via 'pet.owner.name' however trying: > > query.filter('owner.name = ', 'johndoe') > > > Also fails, though it made sense for what should work. Does anyone > > know the proper method? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---