Dans un Python Google App Engine application que je suis en train d'écrire, j'ai une entité stockées dans la banque de données que j'ai besoin de récupérer, de faire une copie exacte de celui-ci (à l'exception de la clé), puis mettre cette entité dans.
Comment dois-je faire? En particulier, existe-il des mises en garde ou des trucs que j'ai besoin d'être conscient de quand vous faites cela de sorte que-je obtenir une copie de la sorte je attendre et pas autre chose.
ETA: eh Bien, je l'ai essayé et je n'ai couru dans des problèmes. Je voudrais faire ma copie d'une façon telle que je n'ai pas à connaître les noms des propriétés quand j'ai écrit le code. Ma pensée a été pour ce faire:
#theThing = a particular entity we pull from the datastore with model Thing
copyThing = Thing(user = user)
for thingProperty in theThing.properties():
copyThing.__setattr__(thingProperty[0], thingProperty[1])
Cela exécute sans erreur... jusqu'à ce que j'essaie de tirer copyThing de la banque de données, à quel point je découvre que toutes les propriétés sont None (à l'exception de l'utilisateur et la clé, évidemment). Donc clairement, ce code est en train de faire quelque chose, puisque c'est de remplacer les valeurs par défaut à None (toutes les propriétés ont une valeur par défaut), mais pas du tout ce que je veux. Des Suggestions?