В приложении Python для Google App Engine, которое я пишу, у меня есть сущность, хранящаяся в хранилище данных, которое мне нужно получить, сделать точную копию (за исключением ключа), а затем вернуть эту сущность в.
Как мне это сделать? В частности, есть ли какие-либо предостережения или трюки, о которых мне нужно знать, когда я делаю это, чтобы получить копию такого рода, которую я ожидаю, а не что-то еще.
ETA: Хорошо, я попробовал, и у меня возникли проблемы. Я хотел бы сделать свою копию таким образом, что мне не нужно знать имена свойств при написании кода. Я думал об этом:
#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])
Это выполняется без каких-либо ошибок... пока я не попытаюсь вытащить copyThing из хранилища данных, после чего я обнаруживаю, что для всех свойств установлено значение None (за исключением пользователя и ключа, очевидно). Настолько ясно, что этот код что-то делает, поскольку он заменяет значения по умолчанию None (все свойства имеют значение по умолчанию), но совсем не то, что я хочу. Предложения?