У меня есть набор сущностей с родительскими ключами и идентификаторами строк. Иногда мне нужно изменить идентификатор строки (обновить объект новым идентификатором). Из этого вопроса (Изменить идентификатор объекта Google App Engine?), похоже, мне нужно создать новую сущность и удалить старую.
Конечно, я хочу сохранить все свойства в старой сущности при создании новой, но, похоже, не существует clone
метода для сущностей NDB.
Это лучший способ изменить идентификатор объекта, сохранив родительский элемент?
# clone the old_entity and parent as new_entity
new_entity = MyModel(**old_entity.to_dict(), id=new_id, parent=old_entity.parent())
И тогда я смогу сделать это, чтобы заменить старую сущность на новую:
new_entity.put() # save the new entity
old_entity.key.delete() # delete the old entity