Change|Assign порождают для Образцового экземпляра на Google App Engine Datastore

Действительно ли возможно изменить или уже присвоить нового родителя Образцовому экземпляру это в хранилище данных? Например, мне нужно что-то вроде этого

task = db.get(db.Key(task_key))
project = db.get(db.Key(project_key))
task.parent = project
task.put()

но это не делает прокладывает себе путь потому что task.parent встроенный метод. Я думал о создании нового Ключевого экземпляра для задачи, но нет никакого способа изменить ключ также.

Какие-либо мысли?

6
задан Dan McGrath 30 November 2016 в 14:26
поделиться

1 ответ

Согласно документам , №:

Родитель объекта определен когда сущность создана, и не может будут изменены позже.

...

Полный ключ объекта, включая путь, вид и имя или числовой идентификатор, является уникальным и специфичен для этого объекта. Полный ключ назначается, когда сущность создан в хранилище данных, и ни один из его части могут изменяться.

Установка родительского объекта полезна, когда вам нужно управлять родительским и дочерним объектами в одной транзакции. В противном случае вы просто ограничиваете производительность, заставляя их обоих находиться в одной группе сущностей и ограничивая свою возможность обновлять отношения после создания сущности.

Вместо этого используйте ReferenceProperty.

9
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: