J'utilise Google App Engine NDB. Parfois, je vais vouloir obtenir tous les utilisateurs avec un numéro de téléphone dans une liste spécifiée. L'utilisation de requêtes est extrêmement chère pour cela, alors j'ai pensé que je vais juste faire de la valeur d'identifiant de l'entité User le numéro de téléphone de l'utilisateur afin que je puisse aller chercher directement par ids. Le problème est que le champ de numéro de téléphone est facultatif, donc initialement une entité utilisateur est créée sans numéro de téléphone, et donc aucune valeur pour id. Donc, il serait créé user = User()
par opposition à user = User(id = phone_number)
.Modifier un identifiant d'entité Google App Engine?
Ainsi, lorsqu'un utilisateur décide ultérieurement d'ajouter un numéro de téléphone à son compte, y a-t-il moyen de modifier la valeur d'identifiant de cette entité utilisateur au nouveau numéro de téléphone?
Peut-être que je ne comprends pas correctement? Récupère l'ancien identifiant d'entité, supprime-le et mets le nouvel identifiant d'entité. – voscausa
@voscausa bien c'est la même entité. L'identifiant est la clé de l'entité. Dans le NDB, il est appelé id au lieu de key_name – Snowman
NDB Docs: Un nom de clé (c'est-à-dire un ID de clé de chaîne) à récupérer ou à créer. Donc, quand c'est une chaîne, c'est un nom de clé. – voscausa