Sind die untergeordneten Elemente einer Entität in einer Abfrage verfügbar?Google App Engine-Abfrage (kein Filter) für untergeordnete Elemente einer Entität
Gegeben:
class Factory(db.Model):
""" Parent-kind """
name = db.StringProperty()
class Product(db.Model):
""" Child kind, use Product(parent=factory) to make """
@property
def factory(self):
return self.parent()
serial = db.IntegerProperty()
Angenommen, 500 Fabriken 500 Produkte für insgesamt 250.000 Produkten gemacht haben. Gibt es eine Möglichkeit, eine ressourceneffiziente Abfrage zu erstellen, die nur die 500 Produkte einer bestimmten Fabrik zurückgibt? Die Vorfahrenmethode ist ein Filter, so dass z.B. Product.all(). Ancestor (factory_1) würde wiederholte Aufrufe des Datenspeichers erfordern.
Die docs nennen es einen Filter, aber es isn nicht? Mercy Sakes, was als nächstes. Der Anwendungsfall für Schreibvorgänge ist jede Factory erstellt null bis zehn Produkte/Tag mit einer minimalen Zeit zwischen Produkten von zehn Sekunden ("bursty"). 95% der Produktlesevorgänge sind Factory-as-a-whole. Ist Eltern-Kind oder ReferenceProperty besser? –
Ich denke, die Empfehlung ist, Entity-Gruppen nur aus Transaktionen zu verwenden, also wäre eine ReferenceProperty besser, obwohl es wahrscheinlich keinen großen Unterschied gibt ... – mcobrien
Es ist nichts falsch mit 500 Elementen in der gleichen Entity-Gruppe - es ist die Aktualisierungsrate das zählt. –