Domanda

Ho una tabella con i dati che inserisco nel database del motore dell'app. Ogni volta che elimino una voce nella tabella, desidero anche eliminare l'elemento nel database del motore dell'app. Come faccio a sapere quale voce eliminare?

Stavo pensando a questo:

per ogni articolo che salvo nel negozio GAE, faccio riferimento a un modello con l'ID dispositivo univoco per iPhone. per ogni articolo che conservo nel negozio GAE, inserisco un UUID per iphone db & amp; app engine db.

Quindi la mia query sarebbe simile a questa ex:

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

Non voglio accedere al motore dell'app, ecco perché sto usando l'ID dispositivo univoco.

La mia unica preoccupazione è la prestazione, GAE deve cercare l'ID del dispositivo e l'UUID, non so se questo sarà un problema?

La migliore soluzione sarebbe se solo potessi eliminarla dal suo db.Key (), ma non so come farlo, perché quando pubblico i dati su GAE non so quale chiave abbia generato.

Qualcuno potrebbe darmi qualche consiglio?

È stato utile?

Soluzione

L'approccio che suggerisci è ragionevole. Se si specifica l'UUID come nome chiave, è possibile eliminarlo direttamente. Per creare un'entità con un nome chiave, eseguire:

MyEntity(key_name=a_string, ...)

Per eliminare un'entità in base al nome della chiave (senza prima recuperarla), eseguire:

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

Non è necessario disporre sia di un UUID che di un ID dispositivo: l'UUID è sufficiente per garantire l'univocità su tutti i dispositivi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top