Из того, что я прочитал в документах, невозможно изменить родительский объект после того, как он был помещен в хранилище данных. Но я ищу способ изменить родителя до того, как это произойдет (но после его создания). Так что вместо того, чтобы это:Как я могу добавить/изменить родительский объект после его создания, но прежде чем он будет помещен в хранилище данных?
John = Student(parent=BlueClassroom.key, name="John", last_name="Smith")
John.put()
Я ищу что-то вроде этого:
John = Student(name="John", last_name="Smith")
John.parent = BlueClassroom.key
John.put()
Теперь первый один работает, а второй не делает (он просто игнорирует вторую строку). Я также пытался использовать populate, но это работает только для обычных свойств. Есть ли способ сделать это?
Оператор 'John.parent = BlueClassroom.key' не меняет ключ, он добавляет новое свойство, называемое «parent», в объект 'John'. Ваш первый пример - правильный способ установки родителя ключа, почему бы не использовать его, когда вы знаете родителя? –
Потому что я не знаю, что такое родитель на этом этапе, что определяется другой функцией. Я должен, вероятно, переставить все, чтобы я мог сделать это в одном месте, но я хотел знать, есть ли способ сделать это так, как сейчас. –