j'ai les 2 modèles suivants dans mon Google App Engine datastore:Comment récupérer des entités Google App Engine par ancêtre
class Search(db.Model):
what = db.StringProperty()
class SearchResult(db.Model):
search = db.ReferenceProperty(Search)
title = db.StringProperty()
content = db.StringProperty()
Et, je suis en train de récupérer toutes les entités SearchResult pour une entité de recherche donnée ci-après function:
def get_previous_search_results(what='', where=''):
search_results = None
search = db.GqlQuery("SELECT * FROM Search WHERE what = :1", what).fetch(1)
if search:
search_results = db.GqlQuery("SELECT * FROM SearchResult WHERE ANCESTOR IS :1", search[0].key()).fetch(10)
return search_results
Cependant, il retourne toujours un ensemble vide.
Des idées de ce que je fais mal? J'ai lu le Python Datastore API docs et cela semble être la bonne façon de le faire, mais ça ne marche pas.
Si vous voulez que 'SearchResult' soit un descendant de' Search', vous devez les créer avec 'a_result = SearchResult (parent = a_search, ...)' –