Les enfants d'une entité sont-ils disponibles dans une requête?Requête Google App Engine (pas de filtre) pour les enfants d'une entité
Étant donné:
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()
On suppose 500 usines ont fait 500 produits pour un total de 250.000 produits. Existe-t-il un moyen de créer une requête efficace en ressources qui renvoie uniquement les 500 produits créés par une usine en particulier? La méthode ancêtre est un filtre, donc en utilisant par ex. Product.all(). Ancestor (factory_1) nécessiterait des appels répétés vers le magasin de données.
Les docs appellent un filtre, mais il ISN 't? Mercy sakes, que faire ensuite. Le cas d'utilisation pour les écritures est chaque usine crée zéro à dix produits/jour avec un temps minimum entre les produits de dix secondes ("bursty"). 95% des lectures de produit seront fabriquées en usine. Parent-enfant ou ReferenceProperty est-il meilleur? –
Je pense que la recommandation est d'utiliser uniquement les groupes d'entités des transactions, donc ReferenceProperty serait meilleur, bien qu'il n'y ait probablement pas une énorme différence ... – mcobrien
Il n'y a rien de mal avec 500 éléments dans le même groupe d'entités - c'est le taux de mise à jour ça compte. –