Question

J'ai une table avec des données, que je poste dans la base de données du moteur d'applications. Chaque fois que je supprime une entrée dans la table, je souhaite également supprimer l'élément dans la base de données du moteur d'applications. Comment savoir quelle entrée supprimer?

Je pensais à ceci:

pour chaque article que je sauvegarde dans le magasin GAE, je fais référence à un modèle avec l'identifiant de périphérique unique iphone. pour chaque article que je sauvegarde dans le magasin GAE, j’insère un UUID pour iphone db & amp; app engine db.

Donc, ma requête ressemblerait à ceci: ex:

del item where unique device id = ####
and item UUID = ####

Je ne veux pas me connecter au moteur d'applications, c'est pourquoi j'utilise l'identifiant unique de l'appareil.

Mon seul souci est la performance, GAE doit rechercher l'identifiant du périphérique et l'UUID, je ne sais pas si cela posera un problème?

La meilleure solution serait de simplement le supprimer par sa db.Key (), mais je ne sais pas comment le faire, car lorsque je publie les données sur GAE, je ne sais pas quelle clé il a générée.

Quelqu'un pourrait-il me donner un conseil?

Était-ce utile?

La solution

L’approche que vous suggérez est raisonnable. Si vous spécifiez l'UUID comme nom de clé, vous pouvez le supprimer directement. Pour créer une entité avec un nom de clé, procédez comme suit:

MyEntity(key_name=a_string, ...)

Pour supprimer une entité par nom de clé (sans la récupérer au préalable), procédez comme suit:

db.delete(db.Key.from_path("MyEntity", a_string))

Il n’est pas nécessaire d’avoir à la fois un UUID et un ID de périphérique - l’UUID est suffisant pour garantir l’unicité de tous les périphériques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top