2010-09-21 12 views
2

Je voudrais commander des entités par ancêtre, GQL reference ne mentionne que les propriétés dans la commande. Dois-je stocker un parent comme une propriété pour l'impliquer dans la commande?Comment commander par requête parent/parent Google App Engine?

J'essaie de réaliser quelque chose comme ceci:

Foo.all().ancestor(bar).order('ancestor').order('-value').fetch(100) 

EDIT:

J'ai quelque chose comme ceci:

bar 
├ spam 
│ ├ foo2 (value = 2) 
│ └ foo7 
└ egs 
    ├ foo6 
    └ foo5 

Je voudrais obtenir: [foo5, foo6, foo2, foo7]. Je suppose que je veux vraiment les regrouper par ancêtre, puis les ordonner par la propriété value.

Répondre

4

La commande par clé sera triée d'abord par ancêtres, puis par l'identifiant ou le nom de l'entité. Si vous voulez trier par ancêtre mais pas par id/nom de l'entité elle-même alors oui, vous devrez inclure un 'ancêtre' explicite SelfReferenceProperty pour trier.

+0

Alors, comment commandez-vous par clé? – aptwebapps

+1

@aptwebapps Avec '.order ('__ clé __')'. –