Comment puis-je interroger que __key__ sur un enfant Google Appengine PolyModel?
-
27-09-2019 - |
Question
La situation est donc: je veux optimiser mon code pour faire un certain dépouillement des dossiers. J'ai donc un parent modèle classe de base, une classe PolyModel Entrée et une classe enfant d'entrée Article: Comment je demande l'article touche afin que je puisse réduire la charge de la requête, mais seulement obtenir le nombre de l'article..
Ma première pensée était d'utiliser:
q = db.GqlQuery("SELECT __key__ from Article where base = :1", i_base)
mais il se trouve GqlQuery ne pas comme ça parce que les articles sont stockés dans une table appelée Entrée.
Serait-il possible d'interroger l'attribut class? quelque chose comme:
q = db.GqlQuery("select __key__ from Entry where base = :1 and :2 in class", i_base, 'Article')
ni dont les travaux. Il se trouve que la réponse est encore plus facile. Mais je vais terminer cette question parce que je regardais partout pour cela.
q = db.GqlQuery("select __key__ from Entry where base = :1 and class = :2", i_base, 'Article')
La solution
le dernier élément est la réponse, class = nom_classe fonctionne même si elle est techniquement une liste. A travaillé comme un charme. Je ne frappé une erreur unique, tout en vérifiant ceci, lorsque vous faites clés vous ne pouvez pas utiliser IN et! =.