Pergunta

Eu tenho um tableview com dados, que eu posto no banco de dados do App Engine. Sempre que eu excluir uma entrada na tabela, eu quero delelte o item no banco de dados do App Engine também. Como eu sei que a entrada para apagar?

Eu estava pensando isso:

para cada item i economizar na loja GAE, eu fazer uma referência a um modelo com o iPhone original ID de dispositivo. para cada item i economizar na loja GAE, eu inserir um UUID para iphone db & app engine db.

Assim, a minha consulta seria algo como isto ex:

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

Eu não quero fazer o login para o Google App Engine, é por isso que eu estou usando o ID de dispositivo único.

A minha única preocupação é o desempenho, GAE tem a pesquisa de ID de dispositivo e o UUID, eu não sei se este wil ser um problema?

A melhor solução seria se apenas poderia excluí-lo pelo seu db.Key (), mas eu não sei como fazer isso, porque quando eu publicar os dados para GAE Eu não sei o chave que gerou.

Alguém poderia me dar alguns conselhos?

Foi útil?

Solução

A abordagem que você sugere é razoável. Se você especificar o UUID como o seu nome da chave, você pode excluí-lo diretamente. Para criar uma entidade com um nome de chave, fazer:

MyEntity(key_name=a_string, ...)

Para excluir uma entidade de nome da chave (sem retornar pela primeira vez), faça:

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

Não há necessidade de ter tanto um UUID e um ID do dispositivo -. O UUID é suficiente para garantir a exclusividade em todos os dispositivos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top